该文章部分内容转自:http://www.cnblogs.com/derekchen/archive/2011/02/17/1957209.html
nginx接受一些信号来实现服务器的重启,重新加载配置项等。
nginx的主进程号会保存在nginx.pid文件中,默认在var/nginx.pid
下面的命令的$nginx_pid都是主进程号
优雅退出
kill -QUIT $nginx_pid
快速退出
kill -TERM $nginx_pid
重新加载配置
kill -HUP $nginx_pid
或者
/usr/nginx/sbin/nginx -s reload
但在加载前最好检查一下配置文件:
nginx -t -c /usr/nginx/conf/nginx.conf
或者
/usr/nginx/sbin/nginx -t
重新生成日志文件:
kill -USR1 $nginx_pid
平滑升级
如果服务器正在运行的Nginx要进行升级、添加或删除模块时,我们需 要停掉服务器并做相应修改,这样服务器就要在一段时间内停止服务,Nginx可以在不停机的情况下进行各种升级动作而不影响服务器运行。
步骤1:
如 果升级Nginx程序,先用新程序替换旧程序文件,编译安装的话新程序直接编译到Nginx安装目录中。
步 骤2:执行命令
kill -USR2 旧版程序的主进程号或进程文件名
此时旧的Nginx主进程将会把自己的进程文件改名为.oldbin,然后执行新版 Nginx。新旧Nginx会同市运行,共同处理请求。
这时要逐步停止旧版 Nginx,输入命令:
kill -WINCH 旧版主进程号
慢慢旧的工作进程就都会随着任务执行完毕而退出,新版的Nginx的工作进程会逐渐取代旧版 工作进程。
此 时,我们可以决定使用新版还是恢复到旧版。
不重载配置启动新/旧工作进程
kill -HUP 旧/新版主进程号
从容关闭旧/新进程
kill -QUIT 旧/新主进程号
如果此时报错,提示还有进程没有结束就用下面命令先关闭旧/新工作进程,再关闭主进程号:
kill -TERM 旧/新工作进程号
分享到:
相关推荐
使用这样的工具,可以大大提高Windows环境下Nginx运维的效率,避免了手动重新加载配置的步骤,同时也减少了因为忘记重新加载而导致的配置未生效问题。不过,要注意的是,自动重启服务可能会对在线服务造成短暂影响,...
最后,确保Nginx服务配置正确无误后,可以使用`nginx.exe -s reload`命令重新加载配置,或通过服务控制来启动或停止服务。 总结,通过以上步骤,我们可以成功地在Windows上安装Nginx,将其注册为服务,并设置自动...
例如,`systemctl start nginx`启动Nginx,`systemctl status nginx`查看状态,`systemctl reload nginx`则重新加载配置。 在【压缩包子文件的文件名称列表】中提到的“build”,这可能是构建Nginx时的源代码目录...
这会触发Nginx重新加载配置文件,同时新启动的工作进程会接收新的连接,旧的工作进程在处理完当前连接后退出。 了解并熟练运用这些命令,可以有效地管理和维护Nginx服务器,确保服务的稳定性和可用性。在日常运维中...
启动操作 命令: nginx -c /usr/nginx/conf/nginx.conf -c参数指定了要加载的nginx配置文件路径。 停止操作 停止操作是通过向nginx进程发送信号(什么是信号请参阅linux文章)来进行的 步骤1:查询nginx主进程号 ps...
1. **Nginx配置与模块加载** 在配置Nginx之前,确保已安装必要的依赖库,例如GCC、PCRE库等。这些库对于编译Nginx和模块是必不可少的。你可以通过`yum install`或`apt-get install`命令来安装它们。 接下来,下载...
- **重启与重载**:配置变动后,需要通过`nginx -s reload`命令重载配置,或者`systemctl restart nginx`重启服务以使更改生效。 - **错误检查**:使用`nginx -t`命令检查配置文件的语法是否正确。 6. **与Java...
这个脚本提供了一个完整的 Nginx 服务控制方案,包括服务的启动、停止、重启、重新加载配置文件等功能。通过定义一系列函数,脚本不仅能够确保 Nginx 在系统启动时自动运行,还能方便地进行服务管理。此外,通过...
1. **信号控制**:发送特定的信号给Nginx进程,使其在不关闭服务的情况下重新加载配置。可以使用`sudo nginx -s reload`或`sudo kill -s HUP <nginx主进程PID>`命令。这里,`HUP`(挂断)信号告诉Nginx重新读取配置...
- 重新启动Nginx服务:`sudo service nginx start`或`sudo systemctl start nginx`。 - 在浏览器中访问`http://localhost/info.php`,若能看到PHP的信息页面,则表示配置成功。 #### 总结 通过上述步骤,我们...
./nginx -s reload –会重新加载配置文件后重启 常用方式: 1.假设你要修改你的域名,修改了server_name后,需要检查配置,执行ningx -t 成功后,执行nginx -s reload 总结 以上所述是小编给大家介绍的linxu服务器上
- **HUP**:平滑重启,重新加载配置文件,不中断当前连接。 - **QUIT**:优雅地关闭,等待所有请求处理完再退出。 - **TERM** 和 **INT**:快速停止,立即结束进程。 - **USR1**:重新打开日志文件,不重启工作进程...
平滑重启Nginx时,不需要先停止再启动,而是通过发送HUP信号,比如`kill -HUP 主进程号`或`/usr/nginx/sbin/nginx -s reload`,这样Nginx会在不影响现有连接的情况下加载新的配置文件。 配置文件的检查也很重要,...
3. **使配置生效:** 使用`nginx -s reload`命令重新加载配置文件,无需重启整个Nginx服务即可使新的配置生效。 #### 五、测试验证 1. **使用Postman测试:** 修改Postman中的请求URL,将端口改为Nginx监听的10080...
- 重新加载配置文件:`/usr/local/nginx/sbin/nginx -s reload` ##### 2.3 配置systemctl管理Nginx 为了方便管理Nginx服务,可以使用systemd来进行启动、停止等操作。具体步骤如下: 1. **创建Nginx服务文件**:...
`-HUP`信号(也称为hangup信号)通知Nginx重新加载配置文件,而`-s reload`命令是Nginx命令行工具提供的另一种平滑重启方式。 **检查Nginx配置文件** 在重启Nginx之前,确保配置文件无误是非常重要的,可以使用...
- 使用Nginx命令:进入Nginx的安装目录下的bin目录,执行`./nginx -s reload`命令来重新加载Nginx配置。 - 根据进程号:使用`kill -HUP 进程号`命令来根据进程号重启Nginx。 在重启之前,通常建议检查Nginx配置文件...
4. `reload` 函数:当需要应用新的配置文件时,向Nginx进程发送 `SIGHUP` 信号(-HUP参数),使Nginx重新加载配置而不中断正在处理的连接。 5. `force_reload` 函数:与 `restart` 类似,但不进行配置检查,直接...