Nginx-信号控制及命令行介绍、日志切分

一、 Nginx服务的信号控制

1.1.Nginx服务的信号控制

  • 调用命令为 kill -signal PID signal:即为信号;
  • PID即为获取到的master线程ID

1、 发送TERM/INT信号给master进程,会将Nginx服务立即关闭。

  kill -TERM PID / kill -TERM `cat  /usr/local/nginx/logs/nginx.pid`
  kill -INT PID / kill -INT `cat  /usr/local/nginx/logs/nginx.pid`

2、 发送QUIT信号给master进程,master进程会控制所有的work进程不再接收新的请求,等所有请求处理完后,在把进程都关闭掉。

  kill -QUIT PID / kill -QUIT `cat  /usr/local/nginx/logs/nginx.pid`

3、发送HUP信号给master进程,然后根据nginx的配置文件重新启动新的work进程 ,master进程会把控制旧的work进程不再接收新的请求,等处理完请求后将旧的work进程关闭掉,处理完后结束进程(-s reload)

  kill -HUP PID / kill -HUP `cat  /usr/local/nginx/logs/nginx.pid`

4、 发送USR1信号给master进程,告诉Nginx重新开启日志文件

  kill -USR1 PID / kill -USR1 `cat /usr/local/nginx/logs/nginx.pid`

5、发送USR2信号给master进程,告诉master进程要平滑升级,这个时候,会重新开启对应的master进程和work进程,整个系统中将会有两个master进程,并且新的master进程的PID会被记录在 /usr/local/nginx/logs/nginx.pid 而之前的旧的master进程PID会被记录在 /usr/local/nginx/logs/nginx.pid.oldbin 文件中,接着再次发送QUIT信号给旧的master进程,让其处理完请求后再进行关闭。

  kill -USR2 PID / kill -USR2 `cat  /usr/local/nginx/logs/nginx.pid`
  kill -QUIT PID / kill -QUIT `cat  /usr/local/nginx/logs/nginx.pid.oldbin`

6、发送WINCH信号给master进程,让master进程控制不让所有的work进程在接收新的请求了,请求处理完后关闭work进程。注意master进程不会被关闭掉。

  kill -WINCH PID /kill -WINCH`cat  /usr/local/nginx/logs/nginx.pid`

二、Nginx日志切割

1.Nginx日志

日志对于统计排错来说是非常有利的,Nginx日志主要分为两种:
access_log(访问日志)和error_log(错误日志),通过访问日志可以得到用户的IP地址、浏览器的信息,请求的处理时间等信息。错误日志记录了访问出错的信息。

2.脚本切割日志

[root@web nginx-1.18.0]# cat sbin/cut_my_log.sh 
#!/bin/bash
#nginx日志所在的目录
LOG_PATH=/usr/local/nginx-1.18.0/logs
RECORD_TIME=$(date -d "yesterday" +%Y-%m-%d)
PID=`cat /usr/local/nginx-1.18.0/logs/nginx.pid`
mv ${LOG_PATH}/access.log ${LOG_PATH}/access.${RECORD_TIME}.log
mv ${LOG_PATH}/error.log ${LOG_PATH}/error.${RECORD_TIME}.log
#向Nginx主进程发送信号,用于重新打开日志文件
kill -USR1  ${PID}

3.设置计划任务

[root@web nginx-1.18.0]# crontab -l
##每天的0点0分执行切割脚本
0 0 * * * /bin/bash /usr/local/nginx-1.18.0/sbin/cut_my_log.sh
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值