没有实际操作解决过的请勿回复。
Nginx版本升级后,每次运行Nginx时都会出现错误提示:
nginx: [warn] the "log_format" directive may be used only on "http" level in /usr/bbc/abc/nginx/conf/nginx.conf:273
在网上查得别人的建议,把下面这段:
log_format main '$remote_addr - [$time_local] "$host-$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" $http_x_forwarded_for
"$request_time"';
access_log /usr/bbc/abc/nginx/logs/www.abcdefg.com.log main;
我放入到server的前面,如下面所示,结果还是不行。
server_name _;
return 500;
}
log_format main '$remote_addr - [$time_local] "$host-$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" $http_x_forwarded_for
"$request_time"';
aaccess_log /usr/bbc/abc/nginx/logs/www.abcdefg.com.log main;
server
{
listen 80;
网上有人把他移出server 放到了他的尾部,只要有访问不管你设置了多少个虚拟主机,马上全部的日志文件都会有变化,还是有问题。请教哪位有实际操作过的完美解决的指导一下。错误如果不处理会有问题吗。
注释掉最上方这个试试,
就字面意义,log_format
这行 directive 只能放在 http
块级别,不能放在 server
块中,也就是说日志格式在整个 nginx 的属于最顶级的全局设置。
比如这是错误的:
http {
... ...
server {
... ...
log_format ...;
}
}
这样是正确的:
http {
... ...
log_format ...;
server {
... ...
}
}
没搞过这个!