nginx日志文件配置


ulimit -n 655350 修改linux内核对一个进程打开文件数量的限制,修改为655350
临时修改
如何永久有效?
1./etc/rc.local
ulimit -n 655350
2.修改/etc/security/limits.conf
vim /etc/security/limits.conf
* soft nofile 1000000
* hard nofile 1000000

	#nofile - max number of open file descriptors

错误日志

日志:记录程序在运行过程中发生的事情
时间 + 地点 + 人物 +事件
日志的作用:排错、解决故障、调试优化

日志的级别–》重要程度
none --》没有 --》级别低
debug --》调试信息
info–》正常的信息 information
notice --》通知
warning --》警告
error --》错误 --》导致程序不能运行
critical --》严重
emergency --》急求 --》级别高
默认为crit级别

语法格式:

    Syntax:error_log file [level];
    示例:
    error_log logs/www_error.log error;

日志访问日志

官方链接:http://nginx.org/en/docs/http/ngx_http_log_module.html#access_log
#定义日志出输格式
log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                     '$status $body_bytes_sent "$http_referer" '
                     '"$http_user_agent" "$http_x_forwarded_for"';
#调用定义格式信息,成生访问日志
access_log  logs/access.log  main;
 
参数说明:
$remote_addr:客户端访问的源IP信息
$remote_user:客户端用户认证信息
[$time_local]:显示访问时间
$request:请求行信息
$status:状态码信息
$body_bytes_sent:服务端响应给客户端的数据大小信息
$http_referer:记录链接到网站的域名信息
$http_user_agent:用户访问网站客户端软件标识信息
$http_x_forwarded_for:反向代理

示例:

#编写配置文件,添加访问日志
[root@web01 conf]# cat nginx.conf
worker_processes  1;
error_log logs/www_error.log error;
events {
    worker_connections  1024;
}
http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;
    include       extra/www.conf;
    include       extra/bbs.conf;
    include       extra/blog.conf;
    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';
 
    access_log  logs/www_access.log  main;
}
#重启服务之后,测试访问
[root@web01 conf]# ../sbin/nginx -s reload
[root@web01 conf]# curl bbs.etiantian.org
10.0.0.7 bbs.etiantian.org
#日志输出
10.0.0.7 - - [25/Feb/2019:11:58:30 +0800] "GET / HTTP/1.1" 200 27 "-" "curl/7.19.7 
(x86_64-redhat-linux-gnu) libcurl/7.19.7 NSS/3.21 Basic ECC zlib/1.2.3 libidn/1.18 libssh2/1.4.2" "-"

因日志文件数据过大,需进行日志分割

使用sehll脚本进行日志分割
[root@web01 scripts]# vim cut_log.sh
#!/bin/bash
data_info=$(date +%F-%H:%M)
mv /application/nginx/logs/www_access.log  /application/nginx/logs/access.log.$data_info
 
/application/nginx/sbin/nginx -s reload
 
#设置定时任务
# cut nginx log cron
* */6 * * * /bin/sh /server/scripts/cut_log.sh &>/dev/null
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章