
在Nginx中记录事件的日志有两种类型,一种是访问日志,另一种是错误日志。如果你已经在Nginx核心配置文件中启用了这些日志,那么在所有Linux发行版中,你都可以在/var/log/nginx中找到这两种类型的日志。
您可以在服务器部分或HTTP中使用access_log指令启用访问日志。
access_log log_file log_format
第一个参数’log_file’是强制性的,而第二个参数是可选的闷轮’log_format’。如果您未提及日志格式,则将以默认的组合格式键入日志蚂郑信。
默认情况下,访问日志是在Nginx配置文件中定义的。因此,所有虚拟主机的访问日志将存储在同一配置文件中。
http {
access_log /var/log/nginx/access.log
}
重新加载新的NGINX配置。现在,您可以使用以下命令在文件/var/log/nginx/example.access.log中访问example.com域的访问日志:
$ sudo tail -f /var/log/nginx/example.access.log
当需要禁用错误日志时,请将日志文件的名称分配给/dev/null。
error_log/dev/null
Nginx错误日志的安全级别
您可以在错误日志中使用以下安全级别:
emerg:当系统不稳定时,用于紧急消息
alert:生成严重问题的警报消息。
crit:用于紧急情况下立即处理。
error:处理页面时,可能会发生错误。
warn:用于警告消息
notice:您也可以忽略的通知日志丛宽。
info:有关信息,消息
debug:指向用于调试信息的错误位置。
Nginx访问和错误日志对于记录某些活动非常有用,
Nginx服务器错误一般有以下几点原因:
1、请求的header过大。nginx默认的header长度上限是4k,如果超过了这个值,nginx会直接返回400错误.
解决方法:配置nginx.conf相关设置。可以通过以下2个参数来调整header上限:
client_header_buffer_size 16k;large_client_header_buffers 4 16k。
2、上传文件过程中出现错误。这时浏览器显示“413 Request Entity Too Large”。这是因为没有设置client_max_body_size,这个参数默认只是1M,也就是说发布的文章内容大小不能超过1M。
解决方法:增加耐渗辩如下两行到nginx.conf的http{}段, 增大nginx上传文件大小限制:设置允许发布内容为8M:client_max_body_size 8M;client_body_buffer_size 128k。
另外如果运行的是php,那么还要检查php.ini,这个大小client_max_body_size要和php.ini中的如下值的最大值一致或者稍大,这样就不会因为提交数据大小不一致出现的错误:post_max_size = 8M;upload_max_filesize = 6M。
修改完配置后,别忘记重新加载。
3、客户端在为等到服务器相应返回前就关闭了客户端描述符。一般出现在客户端设置超时后,服务器主动关闭。
解决方法:根据实际Nginx后端服务器的处理时间修改客户端超时时间。
4、脚本错误(php语法错误、lua语法错误)。
解决方法:查看nginx_err_log php_err_log。
5、访问量过大,系统资源限制,不能打开过多文件。 磁盘空间不足昌缺。(access log开启可能导致磁盘满溢,服务器主动关闭)。
解决方法:修改/etc/sysctl.conf文件,并使用下面的命令确认: #sysctl -p。要使喊散 limits.conf 文件配置生效,必须要确保 pam_limits.so 文件被加入到启动文件中。
6、后端服务无法处理,业务中断。
解决方法:从后端日志获取错误原因,解决后端服务器问题。
7、后端服务器在超时时间内,未响应Nginx代理请求。
解决方法:根据后端服务器实际处理情况,调正后端请求超时时间。
8、网站页面缓存过大。
解决方法:配置nginx.conf相关设置:fastcgi_buffers 8 128k;send_timeout 60。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)