日立电梯戴先生 发表于 2024-6-11 22:46:24

解决nginx重新加载配置文件,配置文件没生效问题

nginx重新加载配置文件,配置文件没生效


问题

就是在修改nginx.conf配置文件之后,配置文件没有生效。

解决

1.检查nginx是否开启
cmd输入命令行,检查nginx是否开启
tasklist /fi "imagename eq nginx.exe"
这样就说明开启了
2.关闭nginx,方法有很多
具体命令如下:
(1) 快速停止或关闭nginx:
nginx -s stop(注意:使用nginx -s stop命令关闭所启动的nginx时,同时会删除logs中的nginx.pid文件)
(2) 完整有序的停止nginx:
nginx -s quit(注意:使用nginx -s quit命令关闭所启动的nginx时,同时也会删除logs中的nginx.pid文件)
(3) 使用taskkill停止或关闭nginx:
taskkill /f /t /im nginx.exe(注意:使用taskkill /f /t /im nginx.exe命令关闭所启动的nginx时,不会删除logs中的nginx.pid文件)
我这里是用第三个才有用

3.开启nginx
start nginx.exe4.重新加载配置
nginx.exe -s reload最后就生效了

nginx启动,停止和重新加载配置

要启动nginx的,运行可执行文件。一旦nginx的启动时,它可以通过与-s参数调用可执行来控制。使用以下语法
nginx -s signal其中,信号可以是下列之一:

[*]stop — fast shutdown
[*]quit — graceful shutdown
[*]reload — reloading the configuration file
[*]reopen — reopening the log files
例如,要停止nginx的过程与等待工作进程完成服务的当前请求,下面的命令可以执行:
nginx -s quitThis command should be executed under the same user that started nginx.在配置文件中所作的更改不会被应用,直到命令重新配置被发送到nginx的或重新启动。
要重新加载配置,执行:
nginx -s reload一旦主处理接收到的信号重新加载配置,它检查新的配置文件的语法正确性并尝试应用在其提供的配置。
如果这是一次成功,主进程开始新的工作流程,将消息发送到老的工作进程,要求它们关闭。
否则,主进程回滚的变化,继续与旧的配置工作。旧的工作进程,在接收到命令关闭,停止接受新的连接,并继续服务于当前请求,直到所有的要求提供服务。
在这之后,老工人处理退出。信号也可发送到nginx的与Unix工具的帮助下过程,如杀工具。
在这种情况下,一个信号被直接发送到一个进程与给定的进程ID。
nginx的主进程的进程ID写入,默认情况下,该nginx.pid在目录/ usr /本地/ nginx的/日志或/ var /运行。
例如,如果主进程ID是1628,送造成的nginx的正常关机的信号QUIT,执行
kill -s QUIT 1628启动nginx:
nginx -c nginx.conf用于获取所有正在运行的nginx的进程列表,ps工具可以使用,例如,以下面的方式:
ps -ax | grep nginx
总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

来源:https://www.jb51.net/server/322139rcc.htm
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!
页: [1]
查看完整版本: 解决nginx重新加载配置文件,配置文件没生效问题