Lazy loaded image
Nginx
🗂️Nginx安装目录
Words 1873Read Time 5 min
2026-4-2
2026-4-2
type
Post
status
Published
date
Apr 2, 2026
slug
summary
tags
category
Nginx
icon
password
comment
Show

Nginx安装目录介绍

  • Nginx服务器的安装目录中主要包括了conf、html、logs、sbin等4个目录。
  • conf: 目录中存放了Nginx的所有配置文件。其中,nginx.conf文件是Nginx服务器的主配置文件,其他配置文件使用来配置Nginx的相关功能的。比如,配置fastcgi使用的fastcgi.conffastcgi_params两个文件。所有的配置文件都提供了以.default结尾的默认配置文件,方便我们将配置过的.conf文件恢复到初始状态。
  • html: 目录中存放了Nginx服务器在运行过程中调用的一些HTML网页文件。
  • logs: 是用来存放Nginx服务器的日志文件的。Nginx的日志功能比较强大,有不同的种类,并且可以自定义输出格式内容等。
  • sbin: 目录存放名称为nginx的二进制文件,是Nginx主程序。

Nginx服务的信号控制

Nginx服务在运行时,会保持一个主进程和一个或多个worker process工作进程。通过给Nginx服务器的主进程发送信号就可以控制服务的启停了。如何给主进程发送信号,需要知道Nginx主进程的进程号PID
获取PID有两个途径:一个是,在Nginx服务启动以后,默认在Nginx服务器安装目录下的logs目录中会生产文件名为nginx.pid文件,此文件中保持的就是Nginx服务主进程的PID。这个文件的存放路径和文件名都可以在Nginx服务器的配置文件中进行配置。第二个获取Nginx服务主进程PID的方法是使用Linux平台下查看进程的工具ps

Nginx服务可接收的信号

信号
作用
TERM 或 INT
快速停止Nginx服务
QUIT
平缓停止Nginx服务
HUP
使用新的配置文件启动进程,之后平缓停止原有进程,也就是所谓的 “平滑重启”
USR1
重新打开日志文件,常用于日志切割。
USR2
使用新版本的Nginx文件启动服务,之后平缓停止原有的Nginx进程,也就是所谓的 “平滑升级”
WINCH
平缓停止worker process,用于Nginx服务器平滑升级
Nginx服务主进程发送信号也有两种方法。一种是使用Nginx二进制文件。另一种是使用kill命令发送信号。

Nginx服务的启动

  • Nginx 使用说明
参数
说明
-?,-h
显示帮助信息。
-v
打印Nginx版本号。
-V
打印Nginx版本号和编译信息。
-t
检查Nginx服务器配置文件是否有语法错误。
-q
可以与 “-t” 联用,如果配置文件没有错误,则不输出任何信息。
-c
指定启动Nginx服务使用的配置文件。可以与 “-t” 联用,使输出内容更详细,对查找配置文件中的语法错误很有帮助
-s signal
用来向Nginx服务的主进程发送信号。stop, quit, reopen, reload
-p prefix
用来改变Nginx的安装路径,常用在平滑升级Nginx服务器的场合
-g directives
用来补充Nginx配置文件,向Nginx服务指定启动时应用于全局的配置

Nginx服务的停止

停止Nginx服务有两种方法: - 快速停止:是指立即停止当前Nginx服务正在处理的所有网络请求,马上丢弃连接,停止工作。 - 平缓停止:是指允许Nginx服务将当前正在处理的网络请求处理完成,但不再接收新的请求,之后关闭连接,停止工作。

Nginx服务的重启

更改Nginx服务器的配置和加入新模块后,如果希望当前的Nginx服务应用新的配置或使用新模块生效,就需要重启Nginx服务。
平滑重启是这样一个过程,Nginx服务进程接收到信号后,首先读取新的Nginx配置文件,如果配置语法正确,则启动新的Nginx服务,然后平缓关闭旧的服务进程;如果新的Nginx配置有问题,将显示错误,仍然使用旧的Nginx进程提供服务。
使用以下命令实现Nginx平滑重启

Nginx服务器的升级

如果要对当前的Nginx服务器进行版本升级,应用新模块,最简单的方法就是停止当前Nginx服务,然后开启新的Nginx服务,但这样就会导致在一段时间内,用户无法访问服务器。为了解决这个问题,Nginx服务器提供平滑升级的功能。
平滑升级的过程是这样的,Nginx服务接收到USR2信号后,首先将旧的nginx.pid文件添加后缀.oldbin,变为nginx.pid.oldbin文件;然后执行新版本Nginx服务器的二进制文件启动服务。如果新的服务启动成功,系统中将有新旧两个Nginx服务共同提供Web服务。之后,需要向旧的Nginx服务进程发送WINCH信号,使旧的Nginx服务平滑停止,并删除nginx.pid.oldbin文件。在发送WINCH信号之前,可以随时停止新的Nginx服务。
注意:
为了实现Nginx服务器的平滑升级,新的服务器安装路径应该和旧的保持一致。因此建议在安装新的服务器之前先备份旧的服务器。如果由于某种原因无法保持新旧服务器安装路径一致,则可以先使用以下命令将旧服务器的安装路径更改为新服务器的安装路径。
newInstallPath 为新服务器的安装路径。之后备份旧服务器,安装新服务器即可。 做好准备工作以后,使用以下命令实现Nginx服务的平滑升级
USR2信号用于发送平滑升级信号。 通过ps -ef |grep nginx 查看新的Nginx服务启动正常,再使用:
WINCH信号用于发送平滑停止旧服务信号。这样就在不停止提供Web服务的前提下完成了Nginx服务器的平滑升级。
上一篇
Nginx 内置变量
下一篇
notion 小部件

Comments
Loading...