Nginx的启动和关闭

article/2025/9/27 17:45:58

Nginx服务器启停命令

Nginx安装完成后,接下来我们要学习的是如何启动、重启和停止Nginx的服务。对于Nginx的启停在linux系统中也有很多种方式,我们本次课程介绍两种方式:

1.Nginx服务的信号控制

2.Nginx的命令行控制

方式一:Nginx服务的信号控制
前面在提到Nginx的高性能,其实也和它的架构模式有关。Nginx默认采用的是多进程的方式来工作的,当将Nginx启动后,我们通过ps -ef |grep nginx命令可以查看到如下内容:
在这里插入图片描述
从上图中可以看到,Nginx后台进程中包含一个master进程和多个worker进程,master进程主要用来管理worker进程,包含接收外界的信息,并将接收到的信号发送给各个worker进程,监控worker进程的状态,当worker进程出现异常退出后,会自动重新启动新的worker进程。而worker进程则是专门用来处理用户请求的,各个worker进程之间是平等的并且相互独立,处理请求的机会也是一样的。nginx的进程模型,我们可以通过下图来说明下:
在这里插入图片描述
我们现在作为管理员,只需要通过给master进程发送信号就可以来控制Nginx,这个时候我们需要有两个前提条件,一个是要操作的master进程,一个是信号。

(1)要想操作Nginx的master进程,就需要获取到master进程的进程号ID。获取方式简单介绍两个,

·通过ps -ef | grep nginx;

·在讲解nginx的./configure的配置参数的时候,有一个参数是–pid-path=PATH默认是/usr/local/nginx/logs/nginx.pid,所以可以通过查看该文件来获取nginx的master进程ID.

(2)信号
在这里插入图片描述
调用命令为kill -signal PID

signal:即为信号;PID即为获取到的master线程ID

1.发送TERM/INT信号给master进程,会将Nginx服务立即关闭。在这里插入图片描述
2.发送QUIT信号给master进程,master进程会控制所有的work进程不再接收新的请求,等所有请求处理完后,在把进程都关闭掉。在这里插入图片描述
3.发送HUP信号给master进程,master进程会把控制旧的work进程不再接收新的请求,等处理完请求后将旧的work进程关闭掉,然后根据nginx的配置文件重新启动新的work进程在这里插入图片描述
4.发送USR1信号给master进程,告诉Nginx重新开启日志文件在这里插入图片描述
5.发送USR2信号给master进程,告诉master进程要平滑升级,这个时候,会重新开启对应的master进程和work进程,整个系统中将会有两个master进程,并且新的master进程的PID会被记录在/usr/local/nginx/logs/nginx.pid而之前的旧的master进程PID会被记录在/usr/local/nginx/logs/nginx.pid.oldbin文件中,接着再次发送QUIT信号给旧的master进程,让其处理完请求后再进行关闭在这里插入图片描述
6.发送WINCH信号给master进程,让master进程控制不让所有的work进程在接收新的请求了,请求处理完后关闭work进程。注意master进程不会被关闭掉在这里插入图片描述
方式二:Nginx的命令行控制
此方式是通过Nginx安装目录下的sbin下的可执行文件nginx来进行Nginx状态的控制,我们可以通过nginx -h来查看都有哪些参数可以用:
-?和-h:显示帮助信息

-v:打印版本号信息并退出

-V:打印版本号信息和配置信息并退出

-t:测试nginx的配置文件语法是否正确并退出

-T:测试nginx的配置文件语法是否正确并列出用到的配置文件信息然后退出

-q:在配置测试期间禁止显示非错误消息

-s:signal信号,后面可以跟 :

stop[快速关闭,类似于TERM/INT信号的作用]

quit[优雅的关闭,类似于QUIT信号的作用]

reopen[重新打开日志文件类似于USR1信号的作用]

reload[类似于HUP信号的作用]

-p:prefix,指定Nginx的prefix路径,(默认为: /usr/local/nginx/)

-c:filename,指定Nginx的配置文件路径,(默认为: conf/nginx.conf)

-g:用来补充Nginx配置文件,向Nginx服务指定启动时应用全局的配置

Nginx框架:黑马程序员Nginx教程,Java进阶从0到1学会Nginx分布式框架


http://chatgpt.dhexx.cn/article/c79FTucY.shtml

相关文章

windows关闭nginx

检查nginx是否启动 在cmd命令窗口输入下面命令进行查看 tasklist /fi "imagename eq nginx.exe" 出现如下图结果说明启动成功: 关闭或停止nginx 我们通过在cmd命令窗口,输入相关的nginx命令来关闭或停止nginx 具体命令如下&#…

vrtualbox虚拟机全屏显示

问题描述:在virtualbox中安装虚拟机后,不能全屏显示,比如下图。 解决方法:点击“设备”,选最下方的“安装增强功能”,然后输入密码,安装后重启即可 如果重启后还是不能全屏显示,可能…

KVM虚拟化安装的虚拟机全屏设置

当我们用KVM虚拟化装机发现装出来的机子屏幕特小不方便使用 怎么设置全屏化呢?网上大多是安装VMware—tools工具,其实不用安装也能放大 CtrlAltEnter放大全屏化(缩小回来一样)

VMware上虚拟机全屏显示——VMware Tools的安装

在VMware上创建的新系统比如Ubuntu一开始是不能全屏显示的,看起来很别扭。安装好VMware Tools就可以解决这个问题。 详细的安装过程如下: 1、在客户机上下载VMware Tools映像文件,然后将其中的压缩文件复制到主目录。 2、使用【tar -zxvf VM…

虚拟机Ubuntu21.04全屏显示

①打开虚拟机工具栏中的【虚拟机(V)】 ②在其下拉菜单中鼠标左键单击【安装VmwareTools】或者【安装Vmware Tools】 ③安装VmwareTools后会有相应的压缩包,复制安装包到主目录下 ④按【CtrlAltT】打开终端,并输入tar -zxvf VMware…

VMware虚拟机如何全屏显示

1:安装VMware tools; 按照步骤提示,等待VMware tools安装完成; 2:查看--自适应客户机

虚拟机全屏问题

虚拟机下面安装了ubuntu系统,显示的屏幕只有那么一小块儿,不知道如何才能全屏,那么如何全屏呢?且看下面经验。 1、打开虚拟机,并点击要更改成全屏的那个ubuntu系统的电源,我的虚拟机名字就叫ubuntu&#xf…

虚拟机安装macOS无法全屏

下载VMware Tools工具 进入https://customerconnect.vmware.com/en/downloads/details?downloadGroupVMTOOLS1130&productId1073&rPId68195 选择macOS的tools工具下载,登录账号即可下载 下载后解压,得到最重要的iso文件 挂载VMware Tools镜…

解决virtualbox win7虚拟机全屏问题

在安装增强功能的时候,在下面这个页面取消选择Direct3D这个选项即可 系统重启后,点击全屏就ok了

VMWare安装macOS 12后配置虚拟机全屏显示(超实用)

一般我们安装完虚拟机,只要安装完vmtool后,虚拟机就会自动全屏显示。但是安装完macOS 12后为什么不能全屏显示呢?原因是macOS 11开始引入了SIP保护机制,这种机制限制了vmtool的功能,导致虚拟机不能全屏。只有我们关闭了…

虚拟机全屏后隐藏vmware菜单栏的问题

之前用的是ubuntu虚拟机,对于vmware菜单栏的问题没在意,也没影响,现在用的是centos系统,全屏后,vmware的菜单栏还在,影响输入法啥的切换,便花时间解决这个问题,其实很简单&#xff0…

ubuntu虚拟机全屏显示问题

等虚拟机打开之后 我们点击虚拟机软件上面工具栏中的【虚拟机(V)】(或许是虚拟机M) 会展现出一个下拉菜单。 在下拉菜单中 我们找到并使用鼠标左键单击【安装Vmware工具】,如果你这里是灰色的,那么可能是 因为你的虚拟机版本比较低…

虚拟机的服务器显示全屏,虚拟机怎么实现全屏显示

有时全屏虚拟机后,屏幕还是出现黑色部分的,那如何实现全屏呢?下面是学习啦小编为大家介绍虚拟机实现全屏显示的方法,欢迎大家阅读。 虚拟机实现全屏显示的方法 启动虚拟机的情况下 我们直接开工吧,点击虚拟机工具中的【虚拟机(M)菜单】 然后…

虚拟机设置全屏

如何设置虚拟机的全屏 先看一下不是全屏的样子 在网上看了看发现解决方法大概有修改分辨率和安装VM TOOLS再进行设置两种方法,我在设置里面翻了翻找了找发现只需要在查看那个选项设置一下即可 点击查看———自动调整大小————自动适应客户机 设置之后的效果 …

华为服务器虚拟kvm退出全屏,kvm虚拟机全屏快捷键

kvm虚拟机全屏快捷键 内容精选 换一换 本节为您介绍如何通过控制台提供的远程登录功能(即VNC方式)登录到云服务器上。登录成功后,如需使用VNC界面提供的复制、粘贴功能,请参见后续处理。已绑定弹性公网IP。登录管理控制台。单击管理控制台左上角的,选择区域和项目。选择“计…

【虚拟机】虚拟机vmware设置全屏(直接设置)

就按照这三步就行了。 找到合适自己的比例,可以多试试。 有参考: https://blog.csdn.net/qq_42886216/article/details/101195351

Oracle VM VirtualBox 虚拟机全屏显示 — 全屏快捷键

你的virtualbox是不是也是这样?即使窗口最大化,内容还是很小? 如何设置窗口最大化? 1、点击【设置】—【设备】 2、设置【显示】—【分辨率】 快捷键Ctrl(右)F 键设置窗口全屏 戳我爆炸

将VirtualBox虚拟机电脑屏幕填满全屏的方法

使用VirtualBox的时候,由于默认是没有全屏的,如下上下左右都有空白,不管怎么设置都无法填满,那么这篇文章将能帮到你。 操作前: 操作后: 安装VirtualBox Guest Additions增强功能,一直next即可&…

SQL实现行列转换(MySQL)

示例数据: (tablename为col_index) 实现行列转换的统计结果: SQL语句: SELECT c2, SUM(CASE when c3 正式 then 1 else 0 END) as "正式", SUM(CASE when c3 临时 then 1 else 0 END) as "临时" FROM col_index GROUP BY c2 虽然SQL的case功能确…

sql表格转置(sql表行列转换)

select Name, sum(case when Subject语文 then Result end) as 语文, sum(case when Subject数学 then Result end) as 数学, sum(case when Subject物理 then Result end) as 物理, sum(case when Subject英语 then Result end) as 英语 from student group by Name