Linux Nginx優化 日誌分割與壓縮

2021-10-02 01:29:32 字數 2704 閱讀 5415

1.nginx沒有類似於apache的cronlog日誌分割處理功能,但是可以通過nginx的訊號控制功能指令碼來實現日誌的自動分割,並且將指令碼加入到linux的計畫任務中去,讓指令碼在每天固定的時間執行,便可以實現切割功能

​ 編寫指令碼進行日誌切割的思路

​ 設定時間變數

​ 設定儲存日誌路徑

​ 將目前的日誌檔案進行重新命名

​ 刪除時間過長的日誌檔案

​ 設定cron任務,定期執行指令碼自動進行日誌分割

2.具體操作:

[root@localhost conf]# cd /opt

[root@localhost opt]# ls

nginx-1.12.2 rh

[root@localhost opt]# vim fenge.sh

#!/bin/bahs

#filename:fenge.sh

d=$(date -d "-1 day" "+%y%m%d")

logs_path="/var/log/nginx"

pid_path="/usr/local/nginx/logs/nginx.pid"

[ -d $logs_path ] || mkdir -p $logs_path

mv /usr/local/nginx/logs/access.log $/test.com-access.log-$d

kill -usr1 $(cat $pid_path)

find $logs_path -mtime +30 | xargs rm -rf

新增許可權:
[root@localhost opt]# chmod +x fenge.sh 

[root@localhost opt]# ls

fenge.sh nginx-1.12.2 rh

[root@localhost opt]# ./ fenge.sh

檢視日誌檔案:
[root@localhost nginx]# cd /var/log/nginx/

[root@localhost nginx]# ls

test.com-access.log-20191229

[root@localhost nginx]# date

2023年 12月 30日 星期一 00:10:35 cst

[root@localhost nginx]# date -s 2019-12-31

2023年 12月 31日 星期二 00:00:00 cst

再次執行指令碼,檢視日誌檔案:
[root@localhost nginx]# cd /opt

[root@localhost opt]# bash fenge.sh

[root@localhost opt]# ls /var/log/nginx/

test.com-access.log-20191229 test.com-access.log-20191230

設定crontab任務:
[root@localhost opt]# crontab -e

crontab: installing new crontab

[root@localhost opt]# crontab -l

0 0 * * * /opt/fenge.sh

1.nginx的ngx_http_gizp_module壓縮模組提供了對檔案內容壓縮的功能,允許nginx伺服器將輸出內容傳送到客戶端之前進行壓縮,以節省**的頻寬。

2.預設情況下,nginx安裝的該模組,只需要在配檔案中加入相應的壓縮功能

具體操作:

進入配置檔案新增:

新增:

[root@localhost conf]# cd ..

開啟服務關防火牆:
[root@localhost html]# service nginx start

[root@localhost html]# systemctl stop firewalld.service

[root@localhost html]# setenforce 0

檢視壓縮模組:

優化日誌2

原 bool nstr memtohex void pmem,int nsize,bstr t pbstring,dword dwaddress,bool bunicode if b 0 sprintf buf2,08x dwaddress for i 0 imemset buf,0,16 memc...

SecureCRT日誌優化

用了這麼多ssh軟體,但對securecrt情有獨鍾。今天來對做一下對securecrt的優化 選擇 file log session 會彈出儲存session路徑及名稱的對話方塊,輸入路徑和名稱後secyrecrt就將儲存當前log。手動模式下,不同的session必須要手工分別設定不同的log儲...

python logging yaml日誌分割

1 建立log.yaml檔案 version 1 disable existing loggers false formatters format asctime s filename s levelname s message s datefmt f t handlers console clas...