Nginx通过server块实现多域名独立网站——每个域名绑定独立root目录,需配置DNS或hosts、创建网站根目录与HTML文件、编写对应server配置并启用,最后语法检查后重启Nginx即可生效。

想让一个服务器通过不同域名访问各自独立的网站?Nginx 的 server 块就是干这个的——每个域名对应一个独立的 root 目录,互不干扰,配置清晰又可靠。
准备两个域名并绑定到同一台服务器
先确保两个域名(比如 site1.example.com 和 site2.example.com)已通过 DNS 解析到你的服务器 IP。本地测试可直接改 hosts 文件:
Windows:C:\Windows\System32\drivers\etc\hostsmacOS/Linux:/etc/hosts
添加两行:
- 192.168.1.100 site1.example.com
- 192.168.1.100 site2.example.com
保存后用 ping site1.example.com 验证是否生效。
创建各自的网站根目录和测试页面
为每个站点新建独立目录,并放入简单 HTML 文件方便验证:
-
sudo mkdir -p /var/www/site1 → 放
index.html,内容写 “Welcome to Site 1” -
sudo mkdir -p /var/www/site2 → 放
index.html,内容写 “Welcome to Site 2” - 设置权限:sudo chown -R $USER:$USER /var/www/site1 /var/www/site2
编写两个独立的 server 配置块
在 /etc/nginx/sites-available/ 下新建两个文件(如 site1.conf 和 site2.conf),内容分别如下:
site1.conf:
server {
listen 80;
server_name site1.example.com;
root /var/www/site1;
index index.html;
location / {
try_files $uri $uri/ =404;
}
}
site2.conf:
server {
listen 80;
server_name site2.example.com;
root /var/www/site2;
index index.html;
location / {
try_files $uri $uri/ =404;
}
}
然后启用它们:
sudo ln -sf /etc/nginx/sites-available/site1.conf /etc/nginx/sites-enabled/
sudo ln -sf /etc/nginx/sites-available/site2.conf /etc/nginx/sites-enabled/
检查语法并重启 Nginx
每次改完配置都必须验证,避免服务启动失败:
- sudo nginx -t → 显示 “syntax is ok” 和 “test is successful” 才安全
- sudo systemctl reload nginx 或 sudo systemctl restart nginx
打开浏览器分别访问两个域名,看到对应欢迎页,说明配置成功。
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!











