Nginx 支持多站点配置(虚拟主机)
阅读:17 2025-07-24
本文介绍如何通过 Nginx 配置多站点(虚拟主机),让一台服务器同时托管多个域名或项目。我们将讲解虚拟主机的基本概念、配置步骤以及常见问题解决方案。
一、什么是虚拟主机
虚拟主机(Virtual Host)是指在同一台服务器上,通过域名或端口区分不同的网站服务。Nginx 利用 server
块为不同的域名分配独立的站点目录和配置。
常见场景:
一台服务器上同时运行
www.a.com
和www.b.com
。不同端口提供不同应用,如
http://example.com:8080
和http://example.com:8090
。
二、配置步骤
1. 准备目录结构
假设我们有两个站点:
站点 A:
/var/www/siteA
站点 B:
/var/www/siteB
sudo mkdir -p /var/www/siteA sudo mkdir -p /var/www/siteB
2. 编写虚拟主机配置文件
在 /etc/nginx/conf.d/
下创建两个配置文件,例如 siteA.conf
和 siteB.conf
。
siteA.conf
server { listen 80; server_name www.a.com; root /var/www/siteA; index index.html index.htm; location / { try_files $uri $uri/ =404; } }
siteB.conf
server { listen 80; server_name www.b.com; root /var/www/siteB; index index.html index.htm; location / { try_files $uri $uri/ =404; } }
3. 检查配置并重启
sudo nginx -t sudo systemctl reload nginx
三、常见问题与解决
域名解析问题
确保www.a.com
和www.b.com
的 DNS 已指向服务器 IP。默认站点覆盖问题
如果server_name
没有配置正确,Nginx 会将请求转到默认站点。HTTPS 配置
每个虚拟主机需要单独配置 SSL 证书,可结合 Let’s Encrypt 自动签发。
四、总结
通过虚拟主机,Nginx 能够高效托管多个域名网站,实现资源共享并降低运维成本。对于中小型项目来说,这是多站点部署的最佳实践。
声明
1、部分文章来源于网络,仅作为参考。 2、如果网站中图片和文字侵犯了您的版权,请联系1943759704@qq.com处理!