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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • opencv实现imfill_使用opencv实现matlab中的imfill填充孔洞功能

    opencv实现imfill_使用opencv实现matlab中的imfill填充孔洞功能使用opencv实现matlab中的imfill填充孔洞功能,整体思路如下:1.首先给原始图像四周加一圈全0,并保存为另一幅图像2.使用floodFill函数给新图像进行填充,种子点设置为Point(0,0),填充颜色为全白。因为原始图像四周加了一圈0,因此使用floodFill填充之后,整个图像除了原始图像中内部的点是黑色之外其他地方全是白色。3.将填充之后…

    2022年9月13日
  • linux dstat,使用Dstat来进行Linux综合性能诊断

    linux dstat,使用Dstat来进行Linux综合性能诊断性能测试、评估和优化一直是系统管理维护人员工作的重点。当我们针对一台生产应用进行分析的时候,获取如CPU、内存、IO、网络吞吐和进程负载的基础数据,对于后续的性能评测和优化是至关重要的。Linux作为目前应用最广泛的服务器操作系统,为了应对各种性能问题,已经发展出很多原生的性能检测工具。从top、vmstat、iostat到mpstat,已经可以对操作系统主要性能方面进行详细的分析。面对越来越复杂…

    2022年6月24日
  • 羊车门作业

    羊车门作业

    2021年5月27日
  • ALERT! UUID=xxxxxxxxx does not exist. Dropping to a shell!

    ALERT! UUID=xxxxxxxxx does not exist. Dropping to a shell!ALERT!UUID=xxxxxxxxxdoesnotexist.Droppingtoashell!文章目录ALERT!UUID=xxxxxxxxxdoesnotexist.Droppingtoashell!问题描述我的解决过程写在最后问题描述ubuntu18.04非正常关机后打不开了,先是黑屏显示:ACPIError:Needtype[Refe…

    2022年8月22日
  • 域名url转发怎么设置_url和域名

    域名url转发怎么设置_url和域名URL转发技术就是将该域名的网站访问请求,通过浏览器端技术,转向到另外一个网站。域名URL转发分为url显性转发和URL隐性转发这里以万网域名为例教你如何设置显性url转发和隐性URL转发。

    2022年10月18日
  • docker部署jenkins安装使用教程_docker搭建python开发环境

    docker部署jenkins安装使用教程_docker搭建python开发环境前言使用docker安装jenkins环境,jenkins构建的workspace目录默认是在容器里面构建的,如果我们想执行python3的代码,需进容器内部安装python3的环境。进jenki

    2022年7月31日

发表回复

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

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