Skip to content

重载配置文件

image-20250107074150482

nginx重载配置文件

重载配置文件

版权

本内容来自:《极客时间:Nginx 核心知识 150 讲》,版权归原作者所有,这里仅记录自己的学习笔记。

bash
[root@localhost sbin]# pwd/home/geek/nginx/sbin[root@localhost sbin]# vim ../conf/nginx.conf#打开这个开关tcp_nopushon;

自己的报错了:。。。

image-20250102071715383

bash
[root@localhost sbin]# ./nginx -s reloadnginx:[error] open() "/home/geek/nginx/logs/nginx.pid"failed (2:Nosuchfileordirectory)

老师的没报错:

image-20250102071755572

已解决。

image-20250102072128306

FAQ

案例

老师,您好,请教一个问题,reload操作是只允许静态操作还是说可以正在有业务的环境中直接reload操作?如果是后者那么会不会对正在运行的业务有小概率影响?比如导致nginx进程异常

作者回复:不会的,reload可以在业务高峰期操作,它只是启动了双倍的worker进程,对性能影响不算大

案例

陶辉老师 ,遇到个问题 . 测试机上运行了几个项目 ,我修改了其中一个的nginx配置文件 ,然后nginx -t ,一起正常 ,再nginx -s reload ,报错了 :nginx:[error] invalid PID number “” in “/usr/local/var/run/nginx/nginx.pid” 后来我echo了正在运行的进程id到nginx.pid里就好了... 想问一下,这个错误是怎么产生的???

NOTE

作者回复:比如,nginx非正常退出时,就会出现这个问题。原因是,nginx.pid里存放的还是之前进程的pid,但实际上进程已经不在,这个时候,reload是不能执行的,一定要执行,就会向错误或者不存在的进程发送信号

最近更新