nginx 重启(Nginx工作进程未正常重启带来的问题)

:暂无数据 2026-08-18 07:30:02 :0

nginx 重启(Nginx工作进程未正常重启带来的问题)

本篇文章给大家谈谈nginx 重启,以及Nginx工作进程未正常重启带来的问题对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录

Nginx工作进程未正常重启带来的问题

        公司新上线了一个系统,通过Nginx进行反向代理,系统上线后,偶尔有请求出现请求找不到,响应 404 的问题。仅新系统会出现该问题,以前部署的系统没有;错误的请求随机出现,并不固定为某个特定的请求地址。Nginx部分配置如下:

        跟踪日志发现无论全局错误日志还是新系统错误日志中,都没有对应记录,新系统访问日志中只有正常请求的记录,没有错误的记录。错误请求只有在全局访问日志文件中才有记录。最终在查看Nginx进程状态时,竟发现多了4个工作进程。

        仔细观察发现多出来的进程是很久以前启动的了,执行 nginx -s reload 命令,异常进程也不会终止,于是猜测错误请求是由异常的进程在处理,而异常的进程是很久以前启动的,并没有加载新系统的配置文件,导致报错,同时这也是为什么错误记录只存在全局访问日志中的原因。 kill 掉异常进程后,果然没有再出现 404 的问题了。

        至于Nginx进程出现异常的原因我就没有再深究了,网上有人不建议使用 nginx -s reload 命令重启nginx,有时候会无效,公司Nginx在不久做过升级,或许是升级操作不当导致的也说不定。

nginx启动,重启,重新加载,以及前缀路径设置

命令行里对nginx操作都需要运行nginx安装目录下的 sbin/nginx,默认会放在 /usr/local/openresty/nginx/sbin 目录下,如果不是openresty里装的nginx,应该就是没有openresty这一层目录的位置
这个路径比较长,所以一般会把它配在环境变量里

之后就可以在任意目录下直接使用nginx命令了,但是这种方法在关闭窗口后就没有用了。
修改环境变量有多种方法,这里贴个别的博客的 链接 ,写的比较详细
我这里使用了修改/etc/profile的方法,修改后,重启,对所有用户都生效

但是一般来说,我们肯定是需要启动我们自己编写的nginx.conf,所以需要在启动的时候指定nginx.conf的位置

这样写的话必须写绝对路径,写相对路径会被拼接到/usr/local/。。。的nginx默认路径后面去,肯定就找不到nginx.conf了,就报错了。同时在nginx.conf文件中的一些东西也必须写绝对路径,例如我写个content_by_lua_file,后面的路径也不能是相对路径
这是因为没有指定前缀路径,就会使用默认的前缀路径,导致所有相对路径都出现问题,通过 -p指定路径,这样就可以愉快地写相对路径啦

修改了文件后,需要让nginx加载这些修改了的信息,可以通过重启nginx的方式,但是nginx也可以不重启,直接重新加载这些内容

当然也可以查找nginx的进程号,再用kill 指令向它发送消息,实现让它停止,重启,重加载等等。

nginx重启出现问题记录(nginx重启 failed (98: Address already in use))

nginx新加了新的端口服务配置后,进行了重启。
在执行./nginx_control start 之后出现如下错误:
nginx重启 failed (98: Address already in use)

执行./nginx_stop之后再重启也没用
可能原因:可能nginx服务卡死了,导致端口占用,出现此错误

使用命令netstat -ntpl 来查看当前正在占用的端口情况,如下所示

使用命令killall -9 nginx

然后再执行./nginx_control restart 即可

Netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接,多播成员 (Multicast Memberships) 等等。

各个参数含义:

-a (all)显示所有选项,默认不显示LISTEN相关
-t (tcp)仅显示tcp相关选项
-u (udp)仅显示udp相关选项
-n 拒绝显示别名,能显示数字的全部转化成数字。
-l 仅列出有在 Listen (监听) 的服务状态

-p 显示建立相关链接的程序名
-r 显示路由信息,路由表
-e 显示扩展信息,例如uid等
-s 按各个协议进行统计
-c 每隔一个固定时间,执行该netstat命令。

***隐藏网址***

服务重启后nginx请求排队

1、可能nginx服务卡死了,导致端口占用,出现此现象使用命令netstat-ntpl来查看当前正在占用的端口情况。
2、PHP的内存不足,会出现服务重启后nginx请求排队。

nginx平滑重启

1:查询nginx主进程号
ps -ef | grep nginx
在进程列表里面找master进程,它的编号就是主进程号了

2.如果更改了配置就要重启Nginx,要先关闭Nginx再打开?这样会影响正常业务,其实可以向Nginx 发送信号,平滑重启。
平滑重启命令:
kill -HUP 主进称号

修改了配置文件后最好先检查一下修改过的配置文件是否正确,以免重启后Nginx出现错误影响服务器正常运行。
判断Nginx配置是否正确的命令如下:
nginx -t -c /usr/nginx/conf/nginx.conf
nginx -t -c /etc/nginx/conf.d/nginx.conf 根据实际配置文件路径

重启nginx会清除缓存吗

不会。nginx重启无法清除反向代理的缓存,可以清空安装目录下的proxy_cache文件夹里的内容来清除。Nginx是一款轻量级的Web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like协议下发行。其特点是占有内存少,并发能力强。

树莓派重启nginx失败

1.首先查看nginx.conf文件查看pid对应的目录是否存在;
2.若目录不存在则创建目录并且包含pid文件
3.执行ps -ef |grep nginx 把主进程号保存到nginx.pid文件
问题解决,重启成功,需要注意的是:这种操作只能执行一次,因为nginx重启的时候会将nginx.pid文件删除了,导致下次重启的时候,重新出现上述问题。比较好的解决方案是:使用systemctl start nginx 后续重启都基于
systemctl restart nginx.

nginx重启-s和-c的区别

nginx重启-s和-c直接重启和保存后重启的区别。nginx-sreload平滑的重启。配置重载。nginx工作中,包括一个master进程,多个worker进程。c:使用指定的配置文件而不是conf目录下的nginx.conf。-s:reload重载。

centos7 下 nginx 启动,关闭,重启配置

打开这个教程: EA82.COM

启动 nginx

systemctl start nginx

一旦 nginx 启动后,就可以用nginx -s signal 命令来接管

快速关闭 nginx

nginx -s stop

平滑的关闭 nginx

nginx -s quit

重启 nginx

nginx -s reload

分割日志

nginx -s reopen

nginx 的工作原理

nginx 有一个 master 进程(老板)和多个 worker 进程(工人),master 进程负责阅读和评估配置,给 worker 进程提供保障,worker 进程实际处理请求。

nginx -s  reload 命令加载修改后的配置文件, 命令下达后发生如下事件

Nginx 的 master 进程检查配置文件的正确性,若是错误则返回错误信息,nginx 继续采用原配置文件进行工作(因为 worker 未受到影响)

Nginx 启动新的 worker 进程,采用新的配置文件

Nginx 将新的请求分配新的 worker 进程

Nginx 等待以前的 worker 进程的全部请求已经都返回后,关闭相关 worker 进程

重复上面过程,直到全部旧的 worker 进程都被关闭掉。

nginx -s quit命令关闭 nginx 服务时,nginx 服务要等待工作进程将当前请求处理完才关闭。

也可以用 kill 命令杀死指定进程号的 nginx 进程

先通过 /var/run/nginx.pid 文件查看 nginx master 进程进程 id,

或者通过ps -ax|grep nginx查看进程

在使用kill -s quit 进程号 杀死进程

关于nginx 重启,Nginx工作进程未正常重启带来的问题的介绍到此结束,希望对大家有所帮助。

nginx 重启(Nginx工作进程未正常重启带来的问题)

本文编辑:admin

更多文章:


函数的类型有哪些?函数类型有哪些

函数的类型有哪些?函数类型有哪些

本篇文章给大家谈谈函数分类,以及函数的类型有哪些对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

2026年10月11日 20:20

源码交易平台哪个最靠谱(国内低代码平台哪家强)

源码交易平台哪个最靠谱(国内低代码平台哪家强)

本篇文章给大家谈谈源码交易平台哪个最靠谱,以及国内低代码平台哪家强对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。

2026年10月11日 20:10

gcc编译器参数(深度linux的arm-linux-gnueabihf-gcc编译参数如何配)

gcc编译器参数(深度linux的arm-linux-gnueabihf-gcc编译参数如何配)

其实gcc编译器参数的问题并不复杂,但是又很多的朋友都不太了解深度linux的arm-linux-gnueabihf-gcc编译参数如何配,因此呢,今天小编就来为大家分享gcc编译器参数的一些知识,希望可以帮助到大家,下面我们一起来看看这个

2026年10月11日 19:30

用记事本写vbs代码(怎么把记事本改成vbs格式)

用记事本写vbs代码(怎么把记事本改成vbs格式)

各位老铁们好,相信很多人对用记事本写vbs代码都不是特别的了解,因此呢,今天就来为大家分享下关于用记事本写vbs代码以及怎么把记事本改成vbs格式的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看吧!

2026年10月11日 17:23

asp是什么检查项目(医院血液检验项目RPR、TPPA、HIV-Ab各是什么意思)

asp是什么检查项目(医院血液检验项目RPR、TPPA、HIV-Ab各是什么意思)

“asp是什么检查项目”相关信息最新大全有哪些,这是大家都非常关心的,接下来就一起看看asp是什么检查项目(医院血液检验项目RPR、TPPA、HIV-Ab各是什么意思)!

2026年10月11日 10:20

汇编输出指令(用汇编语言循环指令在屏幕中间输出红底白字的“hello I am 720“)

汇编输出指令(用汇编语言循环指令在屏幕中间输出红底白字的“hello I am 720“)

各位老铁们好,相信很多人对汇编输出指令都不是特别的了解,因此呢,今天就来为大家分享下关于汇编输出指令以及用汇编语言循环指令在屏幕中间输出红底白字的“hello I am 720“的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看

2026年10月11日 07:20

本地搭建springboot项目(使用eclipse构建springboot项目)

本地搭建springboot项目(使用eclipse构建springboot项目)

各位老铁们,大家好,今天由我来为大家分享本地搭建springboot项目,以及使用eclipse构建springboot项目的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,

2026年10月11日 06:20

hump是什么意思?hump口语啥意思

hump是什么意思?hump口语啥意思

其实hump的问题并不复杂,但是又很多的朋友都不太了解hump是什么意思,因此呢,今天小编就来为大家分享hump的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!

2026年10月11日 03:50

java入门神器好用吗(java 7入门经典适合初学者自学用吗)

java入门神器好用吗(java 7入门经典适合初学者自学用吗)

这篇文章给大家聊聊关于java入门神器好用吗,以及java 7入门经典适合初学者自学用吗对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。

2026年10月11日 02:40

unix文件系统采用(Unix采用树形文件系统,其中“树形文件系统”什么意思)

unix文件系统采用(Unix采用树形文件系统,其中“树形文件系统”什么意思)

大家好,如果您还对unix文件系统采用不太了解,没有关系,今天就由本站为大家分享unix文件系统采用的知识,包括Unix采用树形文件系统,其中“树形文件系统”什么意思的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!

2026年10月11日 00:50

最近更新

华硕f8笔记本硬盘(华硕F8更换硬盘)
2026-10-11 21:30:05 浏览:0
1+手机11pro(一加11pro参数)
2026-10-11 20:30:02 浏览:0
函数的类型有哪些?函数类型有哪些
2026-10-11 20:20:03 浏览:0
热门文章

标签列表