向nginx发送reopen信号以重新打开日志文件-阿里云开发者社区

开发者社区> 开发与运维> 正文

向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.

先移动日志文件

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重新打开日志文件(重新打开的日志就是配置文件中设置的位置和名称)

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
开发与运维
使用钉钉扫一扫加入圈子
+ 订阅

集结各类场景实战经验,助你开发运维畅行无忧

其他文章