4. nginx命令行

1. nginx命令的格式: nginx 指令 指令的参数

2. 查看nginx命令的提示帮助时, 执行 ./sbin/nginx -h

3. 发送信号: ./sbin/nginx -s stop/quit/reopen/reload  (立即停止服务/优雅的停止服务/重载配置文件/重新开始记录日志文件)

4. 修改完配置文件后, 检查配置文件是否有配置错误, 执行检测命令: ./sbin/nginx -t

5. 打印nginx的版本信息: ./sbin/nginx -v

6. 启动nginx: ./sbin/nginx

 

 

命令行演示:

1. 重载配置文件

当修改了nginx配置文件后, nginx在不停止对用户的服务下使用新的配置项. 执行命令: ./sbin/nginx -s reload

执行命令后, 老的worker进程会优雅的退出, 新的请求会发送到新的worker上.

2. 热部署

nginx正在运行, 此时想要更换新版本的nginx, 执行步骤:

  1) 备份老版本的二进制可执行文件, 执行命令 cp ./sbin/nginx ./sbin/nginx.old;

  2) 将新版本的可执行文件拷贝到安装目录下: cp -rf ../nginx-new/objs/nginx ./sbin/ 

  3) 开始热部署前, 给正在运行的nginx的master发送信号, 执行命令: kill -USR2 nginx的masterpid进程号. 执行命令后, nginx会新启一个master进程, 这个新的master进程是用新的二进制文件启动的. 新的master会生成新的worker, 老的worker也会运行, 接着会把后面进来的新的请求平滑的转移到新的nginx进程中.

  4) 然后执行命令: kill -WINCH 老的nginx的master进程号 , 执行该命令的目的是告诉老的master进程优雅的关闭老的worker进程(当老的worker里的请求处理完后关闭worker). 执行完后, 老的worker会退出, 新进来的请求会转移到新的worker上工作. 不过老的master还不会退出, 为了防止升级后出现问题.

3. 切割日志文件

  一般在生产环境中, 日志每天产生一条, 可以加一个定时执行的bash脚本来做.

 

 

 

 

 

posted @ 2019-05-04 00:08  dowait  阅读(301)  评论(0编辑  收藏  举报