在现代Web开发和运维中,Nginx虚拟主机是一个非常实用的功能。它允许你在同一台服务器上运行多个网站,每个网站拥有独立的域名、文件目录甚至SSL证书。本教程将从零开始,带你一步步创建Nginx虚拟主机,即使是小白也能轻松上手!
Nginx虚拟主机(也叫Server Block)是Nginx中用于托管多个域名或子域名的功能。通过配置不同的server块,Nginx可以根据请求的Host头将流量分发到对应的网站目录。
首先,为你的每个网站创建独立的目录。例如,我们要创建两个网站:site1.example.com 和 site2.example.com。
# 创建网站根目录sudo mkdir -p /var/www/site1.example.com/htmlsudo mkdir -p /var/www/site2.example.com/html# 设置权限sudo chown -R $USER:$USER /var/www/site1.example.com/htmlsudo chown -R $USER:$USER /var/www/site2.example.com/html# 添加测试页面echo "<h2>欢迎访问 Site 1</h2>" > /var/www/site1.example.com/html/index.htmlecho "<h2>欢迎访问 Site 2</h2>" > /var/www/site2.example.com/html/index.html
Nginx的虚拟主机配置通常放在 /etc/nginx/sites-available/ 目录下,然后通过软链接启用到 sites-enabled。
创建第一个站点的配置:
sudo nano /etc/nginx/sites-available/site1.example.com
在文件中写入以下内容:
server { listen 80; listen [::]:80; root /var/www/site1.example.com/html; index index.html index.htm; server_name site1.example.com www.site1.example.com; location / { try_files $uri $uri/ =404; }} 同样地,为第二个站点创建配置文件 /etc/nginx/sites-available/site2.example.com,只需修改 root 和 server_name 即可。
使用软链接将配置文件链接到 sites-enabled 目录:
sudo ln -s /etc/nginx/sites-available/site1.example.com /etc/nginx/sites-enabled/sudo ln -s /etc/nginx/sites-available/site2.example.com /etc/nginx/sites-enabled/
在重启前,先检查配置是否正确:
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.example.com192.168.1.100 site2.example.com
将 192.168.1.100 替换为你服务器的实际IP地址。保存后,在浏览器中访问这两个域名,就能看到各自的内容了!
通过以上步骤,你已经成功配置了Nginx虚拟主机,实现了在同一台服务器上托管多个网站。这项技能对于学习Web服务器配置、进行多站点部署或搭建开发环境都非常有用。掌握Nginx配置教程中的这些基础操作,是你迈向专业运维的第一步!
现在,你可以尝试添加更多站点、配置SSL证书,或者结合PHP、数据库等进一步扩展你的Web服务。
本文由主机测评网于2025-11-26发表在主机测评网_免费VPS_免费云服务器_免费独立服务器,如有疑问,请联系我们。
本文链接:https://vpshk.cn/202511764.html