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

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

在现代Web开发和运维中,Nginx虚拟主机是一个非常实用的功能。它允许你在同一台服务器上运行多个网站,每个网站拥有独立的域名、文件目录甚至SSL证书。本教程将从零开始,带你一步步创建Nginx虚拟主机,即使是小白也能轻松上手!

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

什么是Nginx虚拟主机?

Nginx虚拟主机(也叫Server Block)是Nginx中用于托管多个域名或子域名的功能。通过配置不同的server块,Nginx可以根据请求的Host头将流量分发到对应的网站目录。

准备工作

  • 一台已安装Nginx的Linux服务器(如Ubuntu、CentOS)
  • 拥有一个或多个域名(可使用本地hosts文件模拟)
  • 基本的命令行操作知识

步骤一:创建网站目录

首先,为你的每个网站创建独立的目录。例如,我们要创建两个网站:site1.example.comsite2.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虚拟主机配置文件

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,只需修改 rootserver_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/  

步骤四:测试并重启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.example.com192.168.1.100 site2.example.com  

192.168.1.100 替换为你服务器的实际IP地址。保存后,在浏览器中访问这两个域名,就能看到各自的内容了!

总结

通过以上步骤,你已经成功配置了Nginx虚拟主机,实现了在同一台服务器上托管多个网站。这项技能对于学习Web服务器配置、进行多站点部署或搭建开发环境都非常有用。掌握Nginx配置教程中的这些基础操作,是你迈向专业运维的第一步!

现在,你可以尝试添加更多站点、配置SSL证书,或者结合PHP、数据库等进一步扩展你的Web服务。