Nginx (“engine x”) 是一個(gè)高性能的 HTTP 和反向代理服務(wù)器,也是一個(gè) IMAP/POP3/SMTP 代理服務(wù)器。 Nginx 是由 Igor Sysoev 為俄羅斯訪問量第二的 Rambler.ru 站點(diǎn)開發(fā)的,它已經(jīng)在該站點(diǎn)運(yùn)行超過兩年半了。Igor 將源代碼以類BSD許可證的形式發(fā)布。
Nginx 超越 Apache 的高性能和穩(wěn)定性,使得國內(nèi)使用 Nginx 作為 Web 服務(wù)器的網(wǎng)站也越來越多。
上周對Centos中跑的Nginx做了優(yōu)化,重新設(shè)置了圖片、JS、CSS的緩存時(shí)間,關(guān)閉了一些不需要的日志記錄等,我側(cè)重講日志的處理, 因?yàn)槲矣X得這個(gè)是相當(dāng)有必要的。剛開始一直認(rèn)為日志沒有必要處理,也就那么幾M的東西,當(dāng)我查看日志大小的時(shí)候我瞠目了,我的日志居然有幾百M(fèi)的級(jí)別了, 當(dāng)下就決定對日志進(jìn)行每天必要的處理操作。
為什么要切割日志?一般Nginx安裝好后有些人會(huì)打開日志記錄有些人會(huì)關(guān)閉日志記錄,打開日志記錄的人一般都會(huì)把架設(shè)在Nginx上的所有網(wǎng) 站日志都存在同一個(gè)文件里(比如我存在access.log日志文件里),這樣日積月累所有網(wǎng)站的訪問記錄就會(huì)把日志文件越積越大,當(dāng)需要查看日志文件的 時(shí)候一看就是一大串,不方便查找。現(xiàn)在,如果我把每天的日志文件分割開來用相應(yīng)的日期標(biāo)識(shí)出來這樣就大大方便查找了。(我是建議打開日志記錄,日志記錄里 面存放著很多有用的東西。比如:瀏覽器名稱,可以方便你對網(wǎng)站的排版做出調(diào)整;IP地址,如果網(wǎng)站收到攻擊,你就可以查到那個(gè)IP地址。)
下面開始詳細(xì)步驟:
編寫shell程序
某種情況下會(huì)設(shè)置多個(gè)子域名,因此會(huì)產(chǎn)生多個(gè)日志文件,像我這類喜歡整齊的人會(huì)設(shè)置多個(gè)日志文件,把每個(gè)域名的日志都分開放。下面這個(gè)shell程序是多域名處理。
下面是示例,對以下三個(gè)網(wǎng)站的日志切割(日志文件名自己命名):
對應(yīng)日志 blog.log
對應(yīng)日志 demo.log
對應(yīng)日志 happy.log
# !/bin/bash
# 你的日志文件存放目錄
logs_path="/home/logs/"
# 日志文件的名字,多個(gè)需要空格隔開
logs_names=(blog demo happy)
mkdir -p ${logs_path}$(date -d "yesterday" +"%Y")/$(date -d "yesterday"+"%m")/
num=${#logs_names[@]}
for((i=0;i< p=""> <>
mv ${logs_path}${logs_names[i]}.log ${logs_path}$(date -d "yesterday"+"%Y")/$(date -d "yesterday"+"%m")/${logs_names[i]}_$(date -d "yesterday"+"%Y%m%d").log
done
#pid的位置,自己查找
kill -USR1 `cat /usr/local/nginx/nginx.pid`
設(shè)置crontab,每天定時(shí)切割
首先需要確定你的服務(wù)器有沒有安裝crontab的服務(wù),輸入crontab -e命令,有反應(yīng)就安裝了。
如果沒有安裝,運(yùn)行yum install vixie-cron 一鍵安裝。
輸入crontab -e命令,輸入下面的內(nèi)容:
1、00 00意思為00分00點(diǎn),也就是凌晨0點(diǎn),后面“ * * * ”為“ 日 月 年 ”無需定義
2、” /home/logs/cut_nginx_log.sh “為你的shell的路徑。
00 00 * * * /bin/bash /home/logs/cut_nginx_log.sh
OK ! 大功告成,每天的0時(shí)就會(huì)自動(dòng)完成日志的切割并存在相應(yīng)的以日期命名的目錄中。
注解:
1.只在Centos下測試,其他linux環(huán)境設(shè)置略有不同。
2.開啟shell程序的775權(quán)限,否則可能導(dǎo)致不能運(yùn)行。
更多信息請查看IT技術(shù)專欄