计算机网络/计算机科学与应用/系统/运维/开发

Rocky Linux 10 上配置 Nginx 虚拟主机

一、核心思路

  • 站点 1:test1.com → 指向 /usr/share/nginx/html/test1

  • 站点 2:test2.com → 指向 /usr/share/nginx/html/test2

  • 配置文件:放在 /etc/nginx/conf.d/ 目录下(.conf 结尾)

image.png

二、添加根目录和测试页面

# 创建站点1目录
sudo mkdir -p /usr/share/nginx/html/test1

# 创建站点2目录
sudo mkdir -p /usr/share/nginx/html/test2

# 创建站点1首页
echo "<h1>Test Site 1 - test1.com</h1>" | sudo tee /usr/share/nginx/html/test1/index.html

# 创建站点2首页
echo "<h1>Test Site 2 - test2.com</h1>" | sudo tee /usr/share/nginx/html/test2/index.html
设置权限
sudo chown -R nginx:nginx /usr/share/nginx/html/
sudo chmod -R 755 /usr/share/nginx/html/


三、步骤 2:创建虚拟主机配置文件

Nginx 推荐在 /etc/nginx/conf.d/每个站点一个配置文件

1、创建站点1配置

sudo vi /etc/nginx/conf.d/test1.conf

server {
    listen 80;
    server_name test1.com www.test1.com;  # 你的域名

    root /usr/share/nginx/html/test1;     # 网站根目录
    index index.html index.htm;           # 默认首页

    # 日志配置
    access_log /var/log/nginx/test1.access.log;
    error_log /var/log/nginx/test1.error.log;

    # 基础安全规则
    location / {
        try_files $uri $uri/ =404;
    }
}

2、创建站点2配置

sudo vi /etc/nginx/conf.d/test2.conf

server {
    listen 80;
    server_name test2.com www.test2.com;

    root /usr/share/nginx/html/test2;
    index index.html index.htm;

    access_log /var/log/nginx/test2.access.log;
    error_log /var/log/nginx/test2.error.log;

    location / {
        try_files $uri $uri/ =404;
    }
}


四、检查Nginx配置是否正确

image.png

五、重新加载Nginx

sudo systemctl reload nginx


image.png

六、本地测试(本地电脑修改 hosts)

1、windows 打开文件

C:\Windows\System32\drivers\etc\hosts

2、Mac/linux

sudo vi /etc/hosts

添加一行(把服务器 IP 换成你的 Rocky Linux IP

192.168.1.100 test1.com www.test1.com test2.com www.test2.com



然后在浏览器访问:


七、生产环境常用优化配置(推荐)

可以直接加到任意 server{} 里:

# 禁止访问隐藏文件
location ~ /\. {
    deny all;
}

# 静态文件缓存
location ~* \.(jpg|jpeg|png|gif|ico|css|js)$ {
    expires 7d;
}

八、Nginx 虚拟主机常用命令

# 检查配置
sudo nginx -t

# 重启服务(修改配置后)
sudo systemctl reload nginx

# 查看所有启用的站点
ls /etc/nginx/conf.d/*.conf

# 查看站点日志
tail -f /var/log/nginx/test1.access.log

九、完整路径总结

项目路径
站点配置/etc/nginx/conf.d/xxx.conf
网站文件/usr/share/nginx/html/xxx
访问日志/var/log/nginx/
主配置/etc/nginx/nginx.conf


人生活在得失之间,得亦是失,失亦是得。

评论

^