读书笔记-10-Nginx命令行及演示:重载、热部署、日志切割

https://time.geekbang.org/course/detail/100020301-65071?utm_source=pinpaizhuanqu&utm_medium=geektime&utm_campaign=guanwang&utm_term=guanwang&utm_content=0511

Nginx命令行

  1. 格式: nginx -s reload
  2. 帮助: -? -h
  3. 使用指定的配置文件: -c
  4. 指定配置指令: -g
  5. 指定运行目录: -p
  6. 发送信号: -s 
    立刻停止服务: stop
    优雅的停止服务:quit
    重载配置文件: reload
    重新开日记录日志文件:reopen
  7. 测试配置文件是否有语法错误: -t -T
  8. 打印nginx的版本信息、编译信息等: -v -V

命令行演示

  1. 重载:nginx -s load
  2. 热部署:
    将旧版本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 进程仍在,用于版本回退。
  3. 日志切割
    nginx -s reopen
    脚本实现rotate.sh
     
上一篇:CondaHTTPError: HTTP 000 CONNECTION FAILED for url <https://repo.anaconda.com/pkg使用conda安装tensorflow


下一篇:8k Star!有了它,不越狱就能在苹果设备上运行 Windows 和 Linux