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
本文介绍了Nginx的命令行用法,包括重载配置、优雅停止和启动新版本服务的热部署过程。在热部署中,通过发送USR2信号启动新master进程,然后使用WINCH信号优雅关闭旧worker,确保服务不间断。此外,还提到了日志切割和测试配置文件的命令。
244

被折叠的 条评论
为什么被折叠?



