Nginx进阶:使用include将server拆分为多个文件

4,841 阅读2分钟

Nginx是一个高性能的Web服务器和反向代理服务器,也支持将配置文件拆分为多个文件,便于管理和维护。在Nginx的配置文件中,使用include指令可以将不同的配置文件拼接在一起,使得整个配置文件更加清晰易读。下面是如何使用include将Nginx的server拆分为多个文件的方法。

步骤1:创建配置文件夹

首先,您需要创建一个配置文件夹,用于存储多个server的配置文件。在每一个server配置文件中,您需要使用server指令来定义一个新的server块。例如,在Nginx根目录下创建conf.d文件夹,并在其中创建两个conf文件,分别为main.conf和file.conf(文件名随意,以.conf结尾就行):

# main.conf
server {
    listen       80;
    server_name  localhost;
    root         D:/yourui/filesever;

    location / {
        autoindex on;
    }
}
# file.conf文件
server {
    listen 11900; # 监听端口
    root D:/Programming/RealtyManagementOfBlockchain/FrontEnd/dist; # 根目录
    index index.html; 
    autoindex on; # 开启目录列表功能

    location / {
        try_files $uri $uri/ =404; # 找不到文件时返回404
    }
}

步骤2:将配置文件包含到主配置文件中

接下来,您需要将新的配置文件夹包含到Nginx的主配置文件中。在主配置文件(linux中位于nginx根目录/nginx.conf|windows中位于nginx根目录/conf/nginx.conf)中,您可以使用include指令来引入新的配置文件。例如,您可以在nginx.conf中的http块中添加以下指令:

worker_processes  1;

events {
    worker_connections  1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;

    sendfile        on;

    keepalive_timeout  65;
    
    # 添加的指令 更具自己的系统选择
    include ../conf.d/*.conf; # window版本
    # include ./conf.d/*.conf;  # linux版本
}

其中,include ../conf.d/*.conf表示引入相对路径../conf.d目录下所有的以.conf结尾的配置文件。配置规则可以按需更改!

步骤3:重新加载Nginx配置文件

最后,您需要重新加载Nginx的配置文件,以便让Nginx读取到新的配置信息。您可以使用以下命令重新加载配置文件:

# windows 版本 命令
nginx.exe -s reload
# linux 版本 命令
sudo systemctl reload nginx

总结

使用include指令将Nginx的server拆分为多个文件是一种管理和维护Nginx配置文件的有效方法。通过将不同的配置信息拆分到不同的文件中,您可以使整个配置文件更加清晰易读,并且更容易进行修改和维护。