本文我们来介绍下Nginx中的常用操作命令。
服务启动命令
-h help命令可以查看帮助信息
默认启动方式
直接执行Nginx的二进制文件即可
/usr/local/nginx/sbin/nginx
该方式默认会加载 /usr/local/conf/nginx.conf 配置文件
指定配置文件
也可以在启动的时候指定要加载的配置文件 -c
/usr/local/nginx/sbin/nginx -c conf/nginx.conf
当然我们在启动的时候也可以指定pid的存储位置
/usr/local/nginx/sbin/nginx -g “pid /usr/local/nginx/nginx.pid;”
-g参数的约束条件是指定的配置项不能与默认路径下的nginx.conf中的配置项相冲突,否则无法启动。就像上例那样,类似这样的配置项:pid logs/nginx.pid,是不能存在于默认的nginx.conf中的。
另一个约束条件是,以-g方式启动的Nginx服务执行其他命令行时,需要把-g参数也带上,否则可能出现配置项不匹配的情形。例如,如果要停止Nginx服务,那么需要执行下面代码:
/usr/local/nginx/sbin/nginx -g "pid /usr/local/nginx/nginx.pid;" -s stop
查看服务是否启动成功
ps -ef | grep nginx
查看是否有对应的nginx进程
还可以查看对应的pid文件,可以看到对应的master进程的进程编号,表示服务启动了
最后nginx后默认的端口是80,这时我们能够在浏览器中访问成功也可以说明启动成功了
停止服务命令
查看master进程的方式
ps -ef | grep nginx
信号量停止
停止Nginx的方法有很多,一般是通过发送系统信号给Nginx主进程的方式来停止Nginx
语法: kill 信号量类型 master进程编号
从容停止:允许Nginx服务将当前正在处理的网络请求处理完成,但不再接收新的请求
kill -quit 进程编号
快速停止:立即停止当前Nginx服务正在处理的所有网络请求
kill -term 进程编号
执行停止命令,进程立马被干掉了
强制停止:这个得分别干掉master进程和worker进程
kill -9 进程编号
快速停止
上面的信号量方式停止,稍微显得麻烦点,我们需要先查看到对应的master进程编号,然后再发送对应的信号量,这时我们可以通过更简洁的方式来停止
/usr/local/nginx/sbin/nginx -s stop
使用-s stop可以强制停止Nginx服务。-s参数其实是告诉Nginx程序向正在运行的Nginx服务发送信号量,Nginx程序通过nginx.pid文件中得到master进程的进程ID,再向运行中的master进程发送TERM信号来快速地关闭Nginx服务。
“优雅”地停止服务
如果希望Nginx服务可以正常地处理完当前所有请求再停止服务,那么可以使用-s quit参数来停止服务。
/usr/local/nginx/sbin/nginx -s quit
该命令与快速停止Nginx服务是有区别的。当快速停止服务时,worker进程与master进程在收到信号后会立刻跳出循环,退出进程。而“优雅”地停止服务时,首先会关闭监听端口, 停止接收新的连接,然后把当前正在处理的连接全部处理完,最后再退出进程。
热加载命令
如果改变了Nginx的配置文件.nginx.conf,想要重启Nginx,首先需要验证nginx.conf的语法有没有问题
/usr/local/nginx/sbin/nginx -t
语法验证没有问题我们就可以通过 -s reload来重新加载配置文件了
/usr/local/nginx/sbin/nginx -s reload
获取通过发送信号量的方式来重新加载
kill -hup master进程编号
好了,nginx常用的操作命令就介绍到此,相信你应该能上手操作Nginx了~
转载:https://blog.csdn.net/qq_38526573/article/details/106229399