当前位置:首页 > 服务器技术 > 正文

Nginx虚拟主机配置(手把手教你搭建多个网站)

在现代Web开发中,一台服务器上同时运行多个网站是非常常见的需求。通过Nginx虚拟主机配置,我们可以轻松实现在同一台服务器上托管多个域名或项目。本教程将从零开始,带你一步步完成配置,即使是完全的新手也能看懂!

Nginx虚拟主机配置(手把手教你搭建多个网站) Nginx虚拟主机配置  Nginx多站点部署 Nginx服务器配置 Web服务器虚拟主机 第1张

什么是虚拟主机?

虚拟主机(Virtual Host)是指在一台物理服务器上,通过软件配置实现多个独立网站的运行。每个网站可以拥有自己的域名、根目录和访问规则,彼此互不干扰。Nginx 是一款高性能的 Web 服务器,支持基于域名、IP 或端口的虚拟主机。

准备工作

在开始之前,请确保你已经:

  • 安装了 Nginx(可通过 nginx -v 验证)
  • 拥有服务器的 root 或 sudo 权限
  • 准备好了要部署的网站文件
  • 已将域名解析到你的服务器 IP(如使用本地测试,可修改 hosts 文件)

步骤一:创建网站目录

假设我们要配置两个网站:site1.comsite2.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  

步骤二:创建测试页面

为了验证配置是否成功,我们为每个站点创建一个简单的 HTML 页面:

echo "<h2>欢迎访问 Site1!</h2>" > /var/www/site1.com/html/index.htmlecho "<h2>欢迎访问 Site2!</h2>" > /var/www/site2.com/html/index.html  

步骤三:配置 Nginx 虚拟主机

Nginx 的站点配置文件通常位于 /etc/nginx/sites-available/ 目录下。我们为每个站点创建一个配置文件:

创建 site1.com 的配置:

sudo nano /etc/nginx/sites-available/site1.com  

在打开的编辑器中粘贴以下内容:

server {    listen 80;    listen [::]:80;    root /var/www/site1.com/html;    index index.html index.htm;    server_name site1.com www.site1.com;    location / {        try_files $uri $uri/ =404;    }}  

同样地,为 site2.com 创建配置文件:

server {    listen 80;    listen [::]:80;    root /var/www/site2.com/html;    index index.html index.htm;    server_name site2.com www.site2.com;    location / {        try_files $uri $uri/ =404;    }}  

步骤四:启用站点配置

Nginx 使用符号链接来启用站点。执行以下命令启用两个站点:

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/  

建议删除默认站点(避免冲突):

sudo rm /etc/nginx/sites-enabled/default  

步骤五:测试并重启 Nginx

在重启前,先检查配置语法是否正确:

sudo nginx -t  

如果显示 syntax is ok,说明配置无误。接着重启 Nginx 使配置生效:

sudo systemctl reload nginx  

验证结果

现在,如果你在浏览器中访问 http://site1.comhttp://site2.com(需确保域名已正确解析),应该能看到各自不同的欢迎页面!

常见问题与 SEO 优化提示

在进行 Nginx多站点部署 时,注意以下几点:

  • 确保 server_name 中的域名与 DNS 解析一致
  • 防火墙需开放 80 端口(HTTP)或 443 端口(HTTPS)
  • 如需 HTTPS,可使用 Let's Encrypt 免费证书
  • 合理的日志分割有助于后期维护和 Web服务器虚拟主机 性能分析

通过以上步骤,你就成功完成了 Nginx服务器配置 中最关键的虚拟主机部分!无论你是个人开发者还是运维工程师,掌握这项技能都将大大提升你的工作效率。

关键词:Nginx虚拟主机配置, Nginx多站点部署, Nginx服务器配置, Web服务器虚拟主机