700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 在同一目录下Nginx对多个配置文件的读取顺序问题

在同一目录下Nginx对多个配置文件的读取顺序问题

时间:2023-07-06 15:46:57

相关推荐

在同一目录下Nginx对多个配置文件的读取顺序问题

首先,说明结论:同一目录下存在多个配置文件时,Nginx是按照文件的名称先后顺序依次读取的!

背景:

Nginx做反向代理时,可能需要代理多个服务器,这时,有一种可行的方案就是将不同的代理服务器配置在不同的配置文件中,如:

[root@localhost conf.d]# pwd/mydata/nginx/conf/conf.d[root@localhost conf.d]# lsdefault.conf orderSys.conf productSys.conf

三个配置文件的内容分别为:

[root@localhost conf.d]# cat default.conf server {listen 80;server_name localhost;#charset koi8-r;#access_log /var/log/nginx/log/host.access.log main;location / {root /usr/share/nginx/html;index index.html index.htm;}#error_page 404 /404.html;# redirect server error pages to the static page /50x.html#error_page 500 502 503 504 /50x.html;location = /50x.html {root /usr/share/nginx/html;}# proxy the PHP scripts to Apache listening on 127.0.0.1:80##location ~ \.php$ {# proxy_pass http://127.0.0.1;#}# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000##location ~ \.php$ {# root html;# fastcgi_pass 127.0.0.1:9000;# fastcgi_index index.php;# fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;# include fastcgi_params;#}# deny access to .htaccess files, if Apache's document root# concurs with nginx's one##location ~ /\.ht {# deny all;#}}[root@localhost conf.d]# cat orderSys.conf server {listen 80;server_name ;location / {proxy_set_header Host $host;proxy_pass http://order;}error_page 500 502 503 504 /50x.html;location = /50x.html {root /usr/share/nginx/html;}}[root@localhost conf.d]# cat productSys.conf server {listen 80;server_name ;location / {proxy_set_header Host $host;proxy_pass http://product;}error_page 500 502 503 504 /50x.html;location = /50x.html {root /usr/share/nginx/html;}}

此处再次强调,Nginx是按照文件的名称先后顺序读取的!

因此,如果default.conf、orderSys.conf、productSys.conf三个文件代理的内容有优先级,则需要根据优先级排列三个配置。必要的时候,可以通过命名规则排序,如:01-default.conf、02-productSys.conf、03-orderSys.conf。避免因为顺序不当导致代理结果异常,最终导致访问异常,如下所示:

Whitelabel Error PageThis application has no configured error view, so you are seeing this as a fallback.Thu Feb 18 23:26:40 CST [84e87484-818] There was an unexpected error (type=Not Found, status=404).

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。