插件窝 干货文章 Nginx主机域名配置如何实现

Nginx主机域名配置如何实现

配置 Nginx example server 544    来源:    2025-04-21

Nginx主机域名配置实现指南

Nginx作为一款高性能的Web服务器,可以通过虚拟主机配置来支持多个域名。以下是详细的配置方法:

基本域名配置

  1. 创建配置文件

    • 通常位于/etc/nginx/conf.d/目录下
    • 每个域名建议单独一个配置文件,如example.com.conf
  2. 基础配置模板

server {
    listen 80;
    server_name example.com www.example.com;

    root /var/www/example.com;
    index index.html index.htm;

    location / {
        try_files $uri $uri/ =404;
    }
}

多域名配置

方法1:多个server块

server {
    listen 80;
    server_name domain1.com;
    root /var/www/domain1;
    # 其他配置...
}

server {
    listen 80;
    server_name domain2.com;
    root /var/www/domain2;
    # 其他配置...
}

方法2:通配符域名

server {
    listen 80;
    server_name *.example.com;
    root /var/www/wildcard;
    # 其他配置...
}

HTTPS配置

server {
    listen 443 ssl;
    server_name example.com www.example.com;

    ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;

    root /var/www/example.com;
    index index.html;

    # 其他SSL优化配置...
}

重定向配置

HTTP到HTTPS重定向

server {
    listen 80;
    server_name example.com www.example.com;
    return 301 https://$host$request_uri;
}

非www到www重定向

server {
    listen 80;
    server_name example.com;
    return 301 http://www.example.com$request_uri;
}

配置检查与重载

  1. 测试配置语法:
sudo nginx -t
  1. 重载Nginx配置:
sudo systemctl reload nginx
# 或
sudo service nginx reload

常见问题解决

  1. 配置不生效

    • 检查是否有多余的配置文件冲突
    • 确保DNS解析已正确设置
    • 检查防火墙是否开放了80/443端口
  2. 权限问题

    • 确保Nginx用户(通常是www-data或nginx)有权限访问网站目录
  3. SSL证书问题

    • 确保证书路径正确
    • 检查证书链是否完整
  4. 日志查看

tail -f /var/log/nginx/error.log

通过以上配置,您可以灵活地管理Nginx上的多个域名,并根据需要设置重定向、HTTPS等高级功能。