Nginx的信号控制:
TERM,INT 快速关闭;
QUIT 从容关闭;
HUP 平滑重启,重新加载配置文件;
USR1 重新打开日志文件,在切割日志时用途较大;
USR2 平滑升级可执行程序;
WINCH 从容关闭工作进程;
1. 启动nginx
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
2. 停止nginx
1>.从容停止nginx
kill - QUIT nginx主进程号
kill - QUIT `/usr/local/nginx/logs/nginx.pid`
2>.快速停止nginx
kill - TERM nginx主进程号
kill - TERM `/usr/local/nginx/logs/nginx.pid`
或者
kill - INT nginx主进程号
kill - INT `/usr/local/nginx/logs/nginx.pid`
3>.强制停止nginx
pkill -9 nginx
killall nginx
3. 重启nginx
<提示> 重启前最好先校验nginx配置文件。
/usr/local/nginx/sbin/nginx -t [-c /usr/local/nginx/conf/nginx.conf]
kill -HUP nginx主进程号
kill -HUP `/usr/local/nginx/logs/nginx.pid`
4. 升级nginx
不中断服务下,升级nginx。
1.>. /usr/local/nginx/sbin/nginx -V #查看原版本
2>. ./configure [参数]
3>. make ### 不要make install
4>. mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak #备份原来的nginx可执行文件
5>. cp objs/nginx /usr/local/nginx/sbin/nginx #objs目录在源码安装包根目录下
6>. /usr/local/nginx/sbin/nginx -t #检测nginx文件配置
7>. kill -USR2 `cat /usr/local/nginx/logs/nginx.pid` #把nginx.pid改成nginx.pid.oldbin,跟着启动新的nginx
8>. kill -QUIT `cat /usr/local/nginx/logs/nginx.pid.oldbin` #退出旧的nignx
5. 常用其他命令
nginx -h
nginx -c /path/to/nginx.conf // 以特定目录下的配置文件启动nginx:
nginx -s reload // 修改配置后重新加载生效
nginx -s reopen // 重新打开日志文件
nginx -s stop // 快速停止nginx
nginx -s quit // 完整有序的停止nginx
nginx -t // 测试当前配置文件是否正确
nginx -t -c /path/to/nginx.conf //测试特定的nginx配置文件是否正确