当前位置: 首页 > 编程笔记 >

nginx: [warn] "log_format" directive used only on "http" level 解决方法

景麒
2023-03-14
本文向大家介绍nginx: [warn] "log_format" directive used only on "http" level 解决方法,包括了nginx: [warn] "log_format" directive used only on "http" level 解决方法的使用技巧和注意事项,需要的朋友参考一下

将nginx升级到1.2.4稳定版之后,会发现之前的vhost/*.conf中的日志配置都报了如下的warn:


nginx: [warn] the “log_format” directive may be used only on “http” level


上网搜索解决方案如下:
将/vhost/xxx.conf里server段里的下面代码移出该server段即可。

但是这样的又会产生一个问题,就是各子域名的日志文件都会记录所有请求的日志,等了好久都没找到解决方案,后来请教了飞飞之后终于找到解决的方法了。

原来log_format需要在nginx.conf的http层定义,然后在分域名下面就不用定义log_format,直接引用即可,即:

在nginx.conf中http层添加:


log_format Main ‘$remote_addr – $remote_user [$time_local] “$request” ‘

‘$status $body_bytes_sent “$http_referer” ‘

‘”$http_user_agent” $http_x_forwarded_for $request_time';


然后在vhost/*.conf中server中直接写:

access_log ./logs/blog.log Main;


但是注意include vhost/*.conf要放在log_format之后哦,不然会找不到Main的

 类似资料:
  • 本文向大家介绍Nginx HTTP:413 Request Entity Too Large解决方法,包括了Nginx HTTP:413 Request Entity Too Large解决方法的使用技巧和注意事项,需要的朋友参考一下 概述 今天遇到一个问题,在PHP程序中上传图片出现了以下错误:HTTP:413 Request Entity Too Large。 开发环境:CentOS + Ng

  • 正如我们所知,目前nginx稳定版本不能代理tcp连接。因此,如果express和Socket.io在同一个端口上工作,我们需要使用其他代理解决方案。 但还有其他方法可以绕过这个问题: 如果我们将socket.io设置为侦听不同的端口,那么express将侦听。例如:nginx代理80端口到8000端口,express侦听8000端口,socket.io侦听8001端口,客户机直接连接到socke

  • nginx 1.26 http3问题 网站开启http3会导致转向的时候域名丢失了

  • 本文向大家介绍nginx代理多次302的解决方法(nginx Follow 302),包括了nginx代理多次302的解决方法(nginx Follow 302)的使用技巧和注意事项,需要的朋友参考一下 用proxy_intercept_errors和recursive_error_pages代理多次302 302是HTTP协议中的一个经常被使用状态码,是多种重定向方式的一种,其语义经常被解释为“

  • 本文向大家介绍Nginx出现The plain HTTP request was sent to HTTPS port问题解决方法,包括了Nginx出现The plain HTTP request was sent to HTTPS port问题解决方法的使用技巧和注意事项,需要的朋友参考一下 今天在配置Nginx+SSL的时候出现如题的错误,后来与度娘一番云雨之后找到一个解决方法,挺有用,随手转

  • 本文向大家介绍Nginx tp3.2.3 404问题解决方案,包括了Nginx tp3.2.3 404问题解决方案的使用技巧和注意事项,需要的朋友参考一下 最近我把Apache给换成nginx,当我把tp项目搬过去运行的时候发现404 错误 ,原来是因为nginx不支持 pathinfo 模式,需要自己配置 下面我配置 在server配置里面 保存配置之后,重启 nginx ,配置成功 直接支持类