向nginx發送reopen信號以重新打開日志文件


先移動日志文件

mv /usr/local/openresty/nginx/logs/access.log /usr/local/openresty/nginx/logs/access.log.20161024

發送信號重新打開日志文件

kill -USR1 $(cat /usr/local/openresty/nginx/logs/nginx.pid)

簡單說明一下:

1、在沒有執行kill -USR1 `cat ${pid_path}`之前,即便已經對文件執行了mv命令也只是改變了文件的名稱,nginx還是會向新命名的文件” access.log.20161024”中照常寫入日志數據。原因在於linux系統中,內核是根據文件描述符來找文件的

2、USR1是自定義信號,也就是進程編寫者自己確定收到這個信號該干什么。而在nginx中它自己編寫了代碼當接到USR1信號的時候讓nginx重新打開日志文件(重新打開的日志就是配置文件中設置的位置和名稱)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM