在现代Web开发和运维中,经常需要在一个服务器上托管多个网站。这时,Nginx多域名配置就显得尤为重要。本文将从零开始,详细讲解如何通过Nginx实现一个服务器同时支持多个域名访问不同网站内容,即使是小白也能轻松上手!
Nginx 是一款高性能的 Web 服务器和反向代理服务器。通过“虚拟主机”(Virtual Host)技术,Nginx 可以根据用户访问的域名,将请求分发到不同的网站目录或后端服务。这种机制就是我们常说的多域名配置。
首先,为每个域名创建独立的网站根目录:
# 创建目录sudo mkdir -p /var/www/example1.com/htmlsudo mkdir -p /var/www/example2.com/html# 设置权限sudo chown -R $USER:$USER /var/www/example1.com/htmlsudo chown -R $USER:$USER /var/www/example2.com/html
然后,在每个目录下创建一个简单的 index.html 文件用于测试:
echo "<h2>欢迎访问 example1.com</h2>" > /var/www/example1.com/html/index.htmlecho "<h2>欢迎访问 example2.com</h2>" > /var/www/example2.com/html/index.html
进入 Nginx 配置目录(通常为 /etc/nginx/sites-available/),为每个域名创建独立的配置文件:
1. 创建 example1.com 的配置文件:
sudo nano /etc/nginx/sites-available/example1.com
写入以下内容:
server { listen 80; listen [::]:80; root /var/www/example1.com/html; index index.html index.htm; server_name example1.com www.example1.com; location / { try_files $uri $uri/ =404; }} 2. 同样方式创建 example2.com 的配置文件:
sudo nano /etc/nginx/sites-available/example2.com
内容类似,只需修改 root 和 server_name 字段:
server { listen 80; listen [::]:80; root /var/www/example2.com/html; index index.html index.htm; server_name example2.com www.example2.com; location / { try_files $uri $uri/ =404; }} 在 Debian/Ubuntu 系统中,需要将配置文件链接到 sites-enabled 目录:
sudo ln -s /etc/nginx/sites-available/example1.com /etc/nginx/sites-enabled/sudo ln -s /etc/nginx/sites-available/example2.com /etc/nginx/sites-enabled/
如果你使用的是 CentOS 或其他不区分 sites-available 的系统,可以直接在 /etc/nginx/conf.d/ 下创建 .conf 文件,Nginx 会自动加载。
在重启 Nginx 前,务必检查配置语法是否正确:
sudo nginx -t
如果显示 successful,说明配置无误。接着重载 Nginx 使配置生效:
sudo systemctl reload nginx
现在,在浏览器中分别访问 http://example1.com 和 http://example2.com,你应该能看到各自对应的欢迎页面。这说明你的 Nginx服务器设置 已成功实现多域名托管!
ping 命令测试)server_name 支持通配符(如 *.example.com)通过本文,你已经掌握了 网站多域名部署 的核心方法。Nginx 的虚拟主机功能强大且灵活,不仅能支持多域名,还能结合反向代理、负载均衡等高级功能。希望这篇教程能帮助你在实际项目中高效管理多个网站!
如果你觉得有用,欢迎收藏本教程,并分享给更多需要的朋友。祝你运维顺利!
本文由主机测评网于2025-11-24发表在主机测评网_免费VPS_免费云服务器_免费独立服务器,如有疑问,请联系我们。
本文链接:https://vpshk.cn/202511507.html