Nginx 在子文件中使用相同的键重写父规则?
Nginx rewrites parent rules with same key in sub-files?
访问/etc/nginx/nginx.conf
文件我有以下规则:
server {}
http {
access_log logs/access.log main;
error_log logs/error.log error;
include /etc/nginx/conf.d/*.conf;
在另一个名为 etc/nginx/conf.d/custom.conf
的文件中,我有代码:
http {
blablabla …
当 NGINX 加载设置时,HTTP 代码块是否会在 NGINX.CONF
中与下面包含的设置还是会被简单地替换?
例如,在这种情况下,LOGS 是否会继续保存在文件夹中,即使 CUSTOM.CONF
没有实现任何相关内容?
我当前的问题:
我看不到应在 error/access.log
文件中打印的日志,记得我的应用程序正在生成 500 HTTP 错误。
即使你可以拥有超过一个 http block
你也不应该这样做。但是在另一个 http
块中有一个 http
块是不允许的,并且会在启动时引发错误。刚刚在我的实例上测试了这个。所以你应该检查 nginx -T
的输出并检查配置。
NGINX 配置按层级顺序工作。意味着如果支持,您在 http
上下文中设置的指令可以在 server
或 location
上下文中被覆盖。
访问/etc/nginx/nginx.conf
文件我有以下规则:
server {}
http {
access_log logs/access.log main;
error_log logs/error.log error;
include /etc/nginx/conf.d/*.conf;
在另一个名为 etc/nginx/conf.d/custom.conf
的文件中,我有代码:
http {
blablabla …
当 NGINX 加载设置时,HTTP 代码块是否会在 NGINX.CONF
中与下面包含的设置还是会被简单地替换?
例如,在这种情况下,LOGS 是否会继续保存在文件夹中,即使 CUSTOM.CONF
没有实现任何相关内容?
我当前的问题:
我看不到应在 error/access.log
文件中打印的日志,记得我的应用程序正在生成 500 HTTP 错误。
即使你可以拥有超过一个 http block
你也不应该这样做。但是在另一个 http
块中有一个 http
块是不允许的,并且会在启动时引发错误。刚刚在我的实例上测试了这个。所以你应该检查 nginx -T
的输出并检查配置。
NGINX 配置按层级顺序工作。意味着如果支持,您在 http
上下文中设置的指令可以在 server
或 location
上下文中被覆盖。