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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章