CentOS7服务器域名绑定配置指南

以下是如何从外部文件引入配置的步骤(针对源码安装的 Nginx,路径为 /usr/local/nginx/):


一、创建外部配置目录

  1. 在 Nginx 配置目录下创建 conf.d 子目录(存放独立配置文件):
    1
    sudo mkdir /usr/local/nginx/conf/conf.d

二、编写域名配置文件

  1. 创建域名配置文件(例如 lingdian.qingyunzc.cc.conf):

    1
    sudo vi /usr/local/nginx/conf/conf.d/lingdian.qingyunzc.cc.conf
  2. 输入以下反向代理配置

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    server {
    listen 80;
    server_name lingdian.qingyunzc.cc;

    location / {
    proxy_pass http://127.0.0.1:8080;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }

    # 可选:配置日志文件
    access_log /usr/local/nginx/logs/lingdian.access.log;
    error_log /usr/local/nginx/logs/lingdian.error.log;
    }

三、修改主配置文件以引入外部文件

  1. **编辑主配置文件 nginx.conf**:

    1
    sudo vi /usr/local/nginx/conf/nginx.conf
  2. http 块中添加 include 指令(通常在文件末尾):

    1
    2
    3
    4
    5
    6
    http {
    # 其他全局配置...

    # 引入外部配置文件
    include conf/conf.d/*.conf;
    }

四、检查配置并重启 Nginx

  1. 验证配置文件语法

    1
    sudo /usr/local/nginx/sbin/nginx -t

    输出应为:

    1
    nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
  2. 重启 Nginx 服务

    1
    2
    3
    4
    5
    # 如果未集成到 systemctl
    sudo /usr/local/nginx/sbin/nginx -s reload

    # 如果已配置 systemd 服务
    sudo systemctl restart nginx

五、验证配置生效

  1. 检查端口监听状态

    1
    netstat -tunlp | grep nginx

    应看到 80 端口被监听。

  2. 访问域名测试

    • 浏览器访问 http://lingdian.qingyunzc.cc,确认请求被转发到 8080 端口。

六、其他注意事项

1. 权限问题

  • 确保 Nginx 进程有权限读取配置文件:
    1
    2
    sudo chmod -R 644 /usr/local/nginx/conf/conf.d/
    sudo chown -R root:root /usr/local/nginx/conf/conf.d/

2. 日志排查

  • 如果访问失败,检查错误日志:
    1
    tail -f /usr/local/nginx/logs/error.log

3. 防火墙和 SELinux

  • 开放 80 端口

    1
    2
    sudo firewall-cmd --permanent --add-port=80/tcp
    sudo firewall-cmd --reload
  • 允许 Nginx 网络连接(SELinux):

    1
    sudo setsebool -P httpd_can_network_connect 1

七、扩展:多域名配置示例

若要绑定其他域名(如 example.qingyunzc.cc),只需重复以下步骤:

  1. 新建配置文件 /usr/local/nginx/conf/conf.d/example.qingyunzc.cc.conf
  2. 写入对应域名的配置(如反向代理到其他端口)。
  3. 重启 Nginx。

总结

通过外部文件引入配置,可以实现以下目标:

  • 模块化管理:不同域名/站点的配置独立存放。
  • 便于维护:修改单个域名配置无需改动主文件。
  • 灵活扩展:新增域名只需添加新文件并重启服务。