Nginx2026-04-15·8 分钟
Nginx 多主机与虚拟主机管理
介绍 Nginx 多域名、多站点虚拟主机配置和常见管理策略。
Nginx 多主机与虚拟主机管理
1. 多站点基本配置
nginx
server {
listen 80;
server_name example.com;
root /var/www/example.com;
}
server {
listen 80;
server_name example.org;
root /var/www/example.org;
}- 通过
server_name区分不同域名。 - 每个站点可独立配置 root、日志和代理。
2. 默认 Server
nginx
server {
listen 80 default_server;
server_name _;
return 444;
}- 默认 server 用于捕获未匹配域名。
- 可用于安全隔离或跳转。
3. 通配域名配置
nginx
server {
listen 80;
server_name *.example.com;
}- 通配符域名适用于子域名统一配置。
- 注意不要与具体 server_name 冲突。
4. HTTPS 多站点
- 可以在同一个 server 块中配置多个域名。
nginx
server {
listen 443 ssl;
server_name example.com www.example.com;
ssl_certificate /etc/nginx/ssl/fullchain.pem;
ssl_certificate_key /etc/nginx/ssl/privkey.pem;
}5. 配置拆分与维护
- 使用
include /etc/nginx/conf.d/*.conf;或sites-enabled将每个站点拆分成独立配置文件。 - 便于运维和版本控制。
6. 日志分离
- 为不同站点配置独立
access_log和error_log。 - 便于统计和排查问题。
7. 统一重定向与跳转
- 可设置一个站点统一重定向到 HTTPS 或主域名。
nginx
return 301 https://example.com$request_uri;8. 常见管理策略
- 通过模板或脚本批量生成站点配置。
- 在测试环境验证配置后再部署到生产。
- 使用
nginx -t校验每次修改。
Nginx虚拟主机多站点