Nginx命令行
- 格式: nginx -s reload
- 帮助: -? -h
- 使用指定的配置文件: -c
- 指定配置指令: -g
- 指定运行目录: -p
- 发送信号: -s
立刻停止服务: stop
优雅的停止服务:quit
重载配置文件: reload
重新开日记录日志文件:reopen - 测试配置文件是否有语法错误: -t -T
- 打印nginx的版本信息、编译信息等: -v -V
命令行演示
- 重载:nginx -s load
- 热部署:
将旧版本nginx 二进制文件备份,将新版本nginx二进制文件复制到 nginx二进制所在目录
kill -USR2 NGINX_MASTER_PID(OLD),执行完命令以后,会启动一个新的nginx master进程,新的master会生成新的worker进程,旧的master也在运行。将请求过度到新的master/worker
此时新旧master 进程同时存在,旧的进程不在监听80或者443端口,新的请求和新的连接会进入新的nginx进程中
kill -WINCH NGINX_MASTER_PID(OLD),优雅关闭所有worker进程。
ps -ef | grep nginx 会看到 old nginx master进程已经没有worker进程了。但是master 进程仍在,用于版本回退。 - 日志切割
nginx -s reopen
脚本实现rotate.sh