美文网首页
Nginx启动、停止、平滑升级

Nginx启动、停止、平滑升级

作者: 枫山别院 | 来源:发表于2017-11-07 21:57 被阅读0次

    欢迎访问我的博客,同步更新: 枫山别院
    说一说Nginx的安装、启动、停止

    Nginx的安装

    1、Linux上

    • 在Linux上安装Nginx时需要一些最小化的支撑组件,首先要保证系统中有这些组件,安装命令如下(以CentOS为例):
      yum -y install make zlib zlib-devel gcc gcc-c++ ssh libtool pcre pcre-devel
      上面的make,zlib,zlib-devel,gcc,gcc-c++,ssh,libtool都是选择安装的,缺什么安装什么即可
      检查安装过的包命令如下:
      yum list installed | grep "软件名或者包名"

    • 下载Nignx安装包,点击Nginx官网下载最新版,可以使用wget命令直接下载到Linux或者使用FTP上传。

    • 解压安装包tar -zvf nginx-1.13.6.tar.gz

    • 安装,命令如下:
      ./configure
      如果报错:the HTTP rewrite module requires the PCRE library
      那么你需要安装上PCRElib,之后再执行./configure,之后执行make命令编译Nginx,编译完成之后,你可以再执行make install即可安装到指定位置(默认位置/usr/local/nginx)。使用参数--prefix=/nginx可以指定安装位置,比如安装到/nginx目录下,完整的命令就是./configure --prefix=/nginx

    • 一般直接运行nginx命令即可启动Nginx,配置文件默认会使用conf目录下面的nginx.conf,下面几个命令你也许会常用到:
      nginx -c 配置文件路径:使用指定的配置文件启动
      nginx -t 配置文件路径:检查配置文件是否正确并退出
      nginx -s reload:重新加载配置文件
      nginx -s stop:停止Nginx
      nginx -v:打印版本号并退出
      nginx -V:打印版本号和配置并退出
      2、在Windows上安装比较简单,下载编译好的包即可,就不说了

    好了,Nginx的一点基本使用已经说完了,下面是一些高级点的东西


    • Nginx服务的信号控制
      Nginx在启动之后会分为主进程(master process)和一个及以上工作线程(worker process),我们只要给主进程发送信号就可以对Nginx进行一些控制。
      在发送信号的时候使用kill命令,那么我们需要知道Nginx主进程的PID,查询PID可以使用命令ps -ef |grep nginx就会看到如下图:
      PID.png
      红框里的就是PID了
      命令有两种方式:
      1、kill 信号 PID
      2、nginx -g 信号
      支持的常用信号如下:
    信号 描述
    TERM或INT 快速停止Nginx服务
    QUIT 平缓停止Nginx服务
    HUP 使用新的配置文件启动Nginx,之后平缓停止原有进程,也就是平滑重启
    USR2 使用新版Nginx文件启动,之后平缓停止原有Nginx,也就是平滑升级
    WINCH 平缓停止Nginx工作线程,用于平滑升级
    • 案例
      1、快速停止Nginx
      快速停止是指立即放弃当前工作,停止服务;当前也可以使用kill -9 PID
      nginx -g TERM或者nginx -g INT
      2、平缓停止Nginx
      平缓停止是指将当前请求处理完毕之后不再接受新请求,然后停止服务。
      nginx -g QUIT
      3、Nginx平滑重启
      如果你修改了配置文件,想要使用新的配置,但是又不想Nginx停止服务,这时你可以使用平滑重启。平滑重启时先读取配置文件,如果有错误那么就显示错误,停止平滑重启,继续使用原服务;如果配置正确那么启动新服务,平缓关闭原服务。
      nginx -g HUP
      可以添加-c 新配置文件路径来指定使用新的配置文件平滑重启,完整命令如下:
      nginx -g HUP -c 新配置文件路径
      4、Nginx平滑升级
      首先你需要安装新版本的Nginx,安装路径必须跟原来的Nginx一样。安装之前请务必备份原有的Nginx。如果不能保持路径一致那么可以将新版本的Nginx安装在其他位置,然后在原Nginx中使用命令nginx -p 新版本的Ngixn安装位置将原有Nginx指定到新的位置。
      第一步,使用命令nginx -g USR2发送平滑升级信号,使用命令ps -ef |grep nginx查看新的Nginx服务是否启动
      第二步,如果新服务启动成功,使用命令nginx -g WINCH来停止原有服务
    • 今日强心剂:

    你所浪费的今天,是昨天死去的人奢望的明天。你所厌恶的现在,是未来的你回不去的曾经。
    加油吧,少年!

    转载请注明出处,谢谢!

    相关文章

      网友评论

          本文标题:Nginx启动、停止、平滑升级

          本文链接:https://www.haomeiwen.com/subject/vblhmxtx.html