首页 > 编程知识 正文

nginx为什么停止信号控制,nginx流程分析之时间和并发控制

时间:2023-05-04 14:05:58 阅读:276199 作者:1015

一、引言

    接着上节博客来,上节博客教了大家如何在Linux系统中安装nginx服务,也告诉了大家如何启动nginx服务了。那如果是在日常正常使用nginx当中,更改了配置文件,那有如何将nginx优雅的重启。可不要像上节博客使用kill -9 来杀死进程,万一客户下单操作一半,结果你这直接将nginx进程杀死,这就尴尬了。 本章就介绍如何用信号来控制nginx!!!

二、Nginx信号控制使用的几个选项

TERM、INT快速关闭进程QUIT优雅的关闭进程,即等请求结束之后再关闭HUP改变配置文件之后、平滑的重读配置文件USR1 切割日志USR2Nginx平滑的升级WINCH优雅的关闭旧进程,配合USR2进行升级

二、如何优雅的关闭Nginx进程

    2.1、怎样才是正确的关闭nginx进程? 使用 kill -INT 进程号(进程号可以通过"ps aux|grep nginx"来查找)

        

    2.2、如果在Nginx在启动状态下,更改了配置文件,在不关闭nginx进程的前提下,让更改的配置文件生效。在这个时候我们就需要使用"kill  -HUP 进程号",这样就不需要关闭nginx服务,即可让配置文件重新生效。

         我们来做个实验,我们知道如果nginx启动后,我们通过浏览器来访问默认看到的是nginx欢迎页面。

        

           nginx主要的配置是在nginx安装目录下中的conf/nginx.conf文件中,在这里我写好了一个test.html的页面,然后更改了配置文件,现在直接访问nginx会跳转到我自己写的test.html。(页面是写在nginx安装目录下的html文件夹中)

           

            这个时候我们更改了配置文件,但我们不需要重启也能让配置文件生效。使用"kill -HUP 进程号"即可

            

            

三、日志切割

    在我们在访问网络服务的时候,如果经过了Nginx代理,全部都有日志保存的。Nginx日志是存储在安装目录下的logs文件下的,access.log 这个是记录日常访问的日志。如果这个时候我们想吧之前的日志做个备份,让日志写到新的文件中去,该怎么处理呢?

    有些童鞋说把access.log改个名字,然后在新建一个access.log的文件。童鞋那你就错啦!!!

    在linux中每个文件都有一个i节点,往文件写入内容也是根据你的i节点来的,就算你把名字改掉,文件的i节点也不会改变,所以日志还是会写入到之前的文件中。

    这个时候就可以使用信号了,我们把需要备份的日志改一个名称,然后使用"kill -USR1 进程号"即可。(整个操作如图2)

    操作完成后,系统会自动生产一个新的access.log文件。

    

    







版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。