nginx 如何选择配置顺序?

cod*_*lan 8 nginx

在我的 /etc/nginx/nginx.conf 文件中我有配置。作为:-

user  nginx;
worker_processes  1;

error_log  /var/log/nginx/error.log warn;
pid        /var/run/nginx.pid;


events {
    worker_connections  1024;
}


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

    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                  '$status $body_bytes_sent "$http_referer" '
                  '"$http_user_agent" "$http_x_forwarded_for"';

    access_log  /var/log/nginx/access.log  main;
    sendfile        on;
    keepalive_timeout  65;
    include /etc/nginx/conf.d/*.conf;
}
Run Code Online (Sandbox Code Playgroud)

现在,我不喜欢污染上面的默认 nginx.conf 文件,所以我将 /etc/nginx/conf.d/default.conf 中的配置保留为:-

worker_processes 2;
events {
    worker_connections  2048;
}  
Run Code Online (Sandbox Code Playgroud)

我的问题是,在上面的场景中,nginx 会从default.conf 文件或nginx.conf 文件中覆盖或选择worker_processes 和worker_connections 的配置吗?另外,我想知道nginx如何简单地处理配置文件?

use*_*105 5

对于“nginx 如何处理配置文件”,一个简单的查看方法是:

  • 读取配置开始于/etc/nginx/nginx.conf
  • 指令是从上到下阅读的
  • include处理文件时会将其插入到include 类似于 C 预处理器的位置
  • 设置具有范围,例如httpserver、 或location,按从宽到窄的顺序
  • 某些设置可能发生在多个范围级别
  • 在较窄范围内设置参数会覆盖在较宽范围内设置相同参数
  • 同一范围内的冲突设置将被拒绝

有关详细信息,请参阅有关 Nginx 目录结构的 Debian wiki 文章。