天天看點

向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重新打開日志檔案(重新打開的日志就是配置檔案中設定的位置和名稱)

繼續閱讀