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

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • jeeplus-vue-boot 8.0版本 前后端分离 跨域 Nginx配置[通俗易懂]

    jeeplus-vue-boot 8.0版本 前后端分离 跨域 Nginx配置[通俗易懂]简单分享一下jeeplus框架部署liunx服务器跨域问题 ,因为我这个是前后端服务器分离所以配置了俩份java后端配置1.跨域后端配置nginx(图-1)上配置 server { listen 80; server_name xxx.xx.xxx; #后端服务域名 #charset koi8-r; #access_log logs/host.access.log main; locatio

  • java启动器_打造java启动器步骤三「建议收藏」

    java启动器_打造java启动器步骤三「建议收藏」一、Java程序的启动过程对于普通用户来说,Java让人不习惯的是程序的启动过程;即使对于富有经验的开发者,为了用默认的装载器启动Java程序,不得不编写大量批命令、脚本文件,不得不在命令行环境下进行大量的复制/粘贴操作,也很容易出现误操作。用惯了Windows方便快捷的GUI,人们早就习惯了通过双击运行程序的方式。对于Java程序,要实现这个本机启动功能就必须编写定制的启动器。用定制启动器启动J…

  • java中定义常量_形参可以是表达式吗

    java中定义常量_形参可以是表达式吗如here所述,javac和其他Java编译器可能为条件为“ConstantExpression”的if语句提供代码消除功能.如果我的代码使用依赖于不同包中定义的其他常量表达式的常量表达式,那么这将如何影响?例如,假设我在相应的指定包中有以下类:packagefoo;publicclassFoo{publicstaticfinalbooleanCONDITION=false;…

  • 关于ASp.net中的session失效问题的解决办法之一

    关于ASp.net中的session失效问题的解决办法之一
    在Web.config中的sessionstate段中 加入cookieless=”true”。一般即可解决问题。

  • 浅谈@RequestMapping @ResponseBody 和 @RequestBody 注解的用法与区别

    浅谈@RequestMapping @ResponseBody 和 @RequestBody 注解的用法与区别博主说:首先,大家在使用SSM框架进行web开发的时候,经常会在Ctrl层遇到@RequestMapping、@ResponseBody以及@RequestBody这三个参数,博主就以自己在项目开发中总结的一些知识点浅谈一下三者之间微妙的关系。1.@RequestMapping国际惯例先介绍什么是@RequestMapping,@RequestMapping是一个用来处理请求地址映射的注解,可用

  • Navicat相关注册码[通俗易懂]

    Navicat相关注册码[通俗易懂]Navicat相关注册码用户名和组织随便起。注册码如下 –NavicatforSQLServerV10.0.10NAVD-3CG2-6KRN-IEPMNAVL-NIGY-6MYY-XWQENAVI-C3UU-AAGI-57FW -NavicatPremium注册码NAVJ-E6YF-JULL-KKIGNAVE-BOCL-CE3X-TAGYNAVC-KAIA-NU5I-SPOXNAVL-…

    2022年10月22日

发表回复

您的电子邮箱地址不会被公开。

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