https://www.jianshu.com/p/d70006f18a6d
nginx -h
cd /sbin
进入到 sbin 目录下./nginx
启动 nginx./nginx -c /usr/local/nginx/conf/nginx.conf
注:/usr/local/nginx/conf/nginx.conf
为 nginx 配置文件,根据自己实际情况修改。
./nginx -t
注:该命令是检查配置文件是否有语法错误。如果有错,会提示出多少行出错。
./nginx -t -c /usr/local/app/nginx/conf/nginx.conf
修改配置无误之后,重新加载配置启动 nginx 。进入 nginx 下的 sbin 目录下执行命令:
执行重载命令:./nginx -s reload
平滑的重启 reload 处理过程:
nginx 的架构是一个 master 进程和多个 worker 进程。其中 master 充当整个进程组与用户的交互接口,同时对进程进行监护,管理 worker 进程来实现重启服务、平滑升级、更换日志文件、配置文件实时生效等功能。worker 用来处理基本的网络事件,worker 之间是平等的,他们共同竞争来处理来自客户端的请求。
平滑的重启,重启的是 worker 进程, master 没有重启。处理过程:master 监听系统信号,如果 master 监听到系统信号 HUP 后,会先检查配置文件的有效性,如果新的配置文件应用失败,nginx 将继续使用旧的配置进行工作;如果配置文件没有问题就会重新 load 配置文件,创建若干个新的 worker 进程 N,新的 worker 进程会启动新的配置文件。然后 master 向旧的 worker 进程发送信号,优雅停机。最后依然是 N+1 个进程。
注:
systemctl enable nginx
systemctl is-enabled nginx
或者service nginx status
进入 nginx 下的 sbin 目录下执行命令:
快速停止 nginx 命令:./nginx -s stop
完整有序的停止 nginx:./nginx -s quit
;这个命令会等待所有请求结束后再关闭 nginx。
使用 kill 命令关闭 nginx
ps -ef | grep nginx
kill -QUIT 主进程号
kill -TERM 主进程号
kill -HUP 主进程号
kill -9 nginx
ps aux | grep nginx |awk '{print $2}' | xargs kill -9