nginx -s reload 与 service nginx restart 的区别
nginx -s reload (热重载):
Nginx 服务不会终止,使用主进程检查配置,如果配置文件语法正确,则主进程会启动一个新的工作进程处理新来的请求。主进程发送消息给原来的工作进程,通知旧的进程不在接受请求,处理完现有的请求后退出(优雅退出);如果语法不正确,则继续使用旧的进程继续处理请求。
service nginx restart(重启):
该条命令的执行过程如下,nginx -s stop -> nginx 先将 Nginx 快速的停止(等同于 service nginx stop),然后在执行启动命令(等同于 service nginx start),启动的时候会造成短暂的服务中断;如果配置文件语法错误,那问题就大了,有可能会造成更长时间的中断,有可能会造成很大的宕机。