在现代 Web 开发中,我们经常需要在同一台服务器上运行多个网站。这时候,Nginx 虚拟主机就派上了大用场!本教程将从零开始,带你一步步配置 Nginx 虚拟主机,即使你是完全的小白也能轻松上手。
什么是 Nginx 虚拟主机?
Nginx 虚拟主机(也叫 Server Blocks)允许你在同一台服务器上通过不同的域名或端口来托管多个网站。每个虚拟主机可以拥有独立的根目录、日志文件和配置规则,互不干扰。
准备工作
在开始之前,请确保你已经:
- 安装了 Nginx(可使用
sudo apt install nginx在 Ubuntu 上安装) - 拥有服务器的 root 或 sudo 权限
- 至少有两个域名(或使用本地 hosts 文件模拟)
步骤一:创建网站目录
首先,为每个网站创建独立的目录。例如,我们要配置两个网站:site1.com 和 site2.com。
# 创建目录sudo mkdir -p /var/www/site1.com/htmlsudo mkdir -p /var/www/site2.com/html# 设置权限sudo chown -R $USER:$USER /var/www/site1.com/htmlsudo chown -R $USER:$USER /var/www/site2.com/html# 添加测试页面echo "<h2>欢迎访问 site1.com</h2>" > /var/www/site1.com/html/index.htmlecho "<h2>欢迎访问 site2.com</h2>" > /var/www/site2.com/html/index.html
步骤二:配置 Nginx 虚拟主机
接下来,在 /etc/nginx/sites-available/ 目录下为每个网站创建配置文件。
配置 site1.com:
sudo nano /etc/nginx/sites-available/site1.com
在打开的文件中粘贴以下内容:
server { listen 80; server_name site1.com www.site1.com; root /var/www/site1.com/html; index index.html; location / { try_files $uri $uri/ =404; }} 同样地,为 site2.com 创建配置文件:
sudo nano /etc/nginx/sites-available/site2.com
server { listen 80; server_name site2.com www.site2.com; root /var/www/site2.com/html; index index.html; location / { try_files $uri $uri/ =404; }} 步骤三:启用虚拟主机
创建符号链接,将配置文件从 sites-available 链接到 sites-enabled 目录:
sudo ln -s /etc/nginx/sites-available/site1.com /etc/nginx/sites-enabled/sudo ln -s /etc/nginx/sites-available/site2.com /etc/nginx/sites-enabled/
步骤四:测试并重启 Nginx
在重启前,先检查配置是否正确:
sudo nginx -t
如果显示 syntax is ok 和 test is successful ,说明配置无误。然后重启 Nginx:
sudo systemctl reload nginx
本地测试(无需真实域名)
如果你没有真实域名,可以在本地电脑的 hosts 文件中添加映射:
# Windows: C:\Windows\System32\drivers\etc\hosts# macOS/Linux: /etc/hosts192.168.1.100 site1.com192.168.1.100 site2.com
将 192.168.1.100 替换为你服务器的实际 IP 地址。保存后,浏览器访问 http://site1.com 和 http://site2.com 就能看到不同页面了!
常见问题与 SEO 优化提示
在配置 Web服务器配置 时,注意以下几点:
- 确保每个
server_name唯一且正确 - 定期查看 Nginx 错误日志:
/var/log/nginx/error.log - 为生产环境配置 HTTPS(使用 Let's Encrypt 免费证书)
- 合理设置缓存头以提升 多站点托管 性能
通过本教程,你应该已经掌握了基本的 Nginx配置教程 技能。现在,你可以轻松在一台服务器上托管多个网站了!
记住,良好的 Nginx虚拟主机 配置不仅能提升网站性能,还能增强安全性。继续探索吧!
