Nginx学习——Nginx启动、停止、重启和信号控制以及平滑升级

Nginx的启动、停止、重启和信号控制以及平滑升级

大家好,又见面了,我是全栈君。

1.Nginx 启动与停止
(1)启动方式

启动格式:Nginx可执行文件地址 -c Nginx配置文件地址

/etc/local/nginx/sbin/nginx -c /root/dufy/nginx/conf/nginx.conf

(2)停止方式

    a.从容停止
            --kill -QUIT 主进程号(master进程号)             QUIT 从容停止
            查看进程号: ps -ef | grep nginx
    b.快速停止
        --kill -TERM 主进程号     c.强制停止
        --kill -9 主进程号         --pkill -9 nginx

(3)重启
修改了配置文件生效,就要重新启动!修改了配置文件需要重启,首先验证配置文件的正确性。

a.验证:重启之前验证配置文件是否正确!
            --进入可执行文件目录 ./nginx -t             --/etc/local/nginx/sbin/nginx -t -c /root/dufy/nginx/conf/nginx.conf 
b.重启
    --进入可执行文件目录 ./nginx -s reload     --kill -HUP 主进程号

2.Nginx 信号控制
(1)信号控制概述
Nginx是通过信号来控制服务器的启动停止和重启的。

(2)信号控制实战

        HUP:重启
        QUIT:从容关闭
        INT:从容关闭
        TERM:快速关闭

        USER1:切换日志文件
            -- kill -USER1 进程号 
        USER2:平滑升级可执行进程
            -- kill -USER2 进程号         WINCH:从容关闭工作进程
            -- kill -WINCH 主进程号

3.Nginx 平滑升级

(1)认识平滑升级

低版本————>高版本
        强制升级 ,原来的进程关闭,会影响服务提供
        不会停止原来的进程,原来的请求不会关闭,不接受新的的请求。

        老进程:处理原来请求,不接受新请求。
        新进程:接收新的请求

(2)平滑升级实战

#1 查看版本
./nginx -V #查看nginx的版本
#注意:记录configure arguments: 信息

#2备份老版本,替换新版本
进入之前安装nginx可执行文件目录,进行备份。使用cp命令
cp nginx nginx.old

#3下载高版本,上传解压
下载更高的版本,上传解压(解压命令 tar -zxvf nginx-x-x.tar.gz)
./configure
make 
#注意 : 解压到之前安装的目标下,不需要输入make install ,因为我们这里是升级。

#4 发送指令1)Kill -USR2 旧版本的Nginx主进程号
执行完之后,这时候在查看进程,会发现多了一个nginx新的主进程!
(2)执行kill -WINCH 旧版本的Nginx主进程号 
发现旧版本worker process进程没有了
(3)执行 kill -QUIT 旧版本的Nginx主进程号 ,平滑升级成功。
老的nginx 主进程已经不存在。

#5最后处理
平滑升级完成!删除刚才上传和解压的文件。

(3)平滑升级进程的变化

    平滑升级过程中使用 ps -ef | grep nginx可以查看进程变化

nginx之平滑升级详解: http://blog.csdn.net/u010391029/article/details/48658399


欢迎访问我的csdn博客,我们一同成长!

不管做什么,只要坚持下去就会看到不一样!在路上,不卑不亢!

博客首页http://blog.csdn.net/u010648555

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/121154.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号