Nginx服务器启停命令
nginx安装好后,维护和更新,经常使用到启动和停止nginx服务。现主要介绍两种方式:
1、nginx服务器的信号控制
- nginx中的master 和worker 进程是什么?
- nginx的工作方式是什么?
- 如何获取进程的PID?
- 信号有哪些?
- 如何通过信号控制nginx的启停等相关操作
如下操作说明
- 终端窗口中输入:ps -ef | grep nginx 命令可以查看到nginx的主进程和工作进程,PID等信息。
- master进程 主要作用是管理worker进程
- worker进程 主要是接收用户发送的请求
- nginx的工作方式是多进程的工作模式。一个master进程 和多个worker进程。
- 获取进程的PID方法有二;第一是使用命令ps -ef | grep nginx ;第二种是进到配置文件查看,如more /usr/local/nginx/logs/nginx.pid 就可以查到。
- 信号有如下几种
+ TERM/INT : 立即关闭整个服务
+ QUIT: 优雅地关闭整个服务
+ HUP:重读配置文件并使用服务对新配置项生效,更新文件常用到。
+ USR1:重新打开日志文件,可以用来进行日志切割
+ USR2:平滑升级到最新版本的nginx
+ WINCH:所有子进程不在接收处理新连接,相当于给worker进程发送QUIT命令。
+ 调用命令为:kill -signal PID .signal即为信号;PID即为获取到的master线程ID. 如kill -TERM 13673
- 1.发送TERM/INT信号给master进程,会将NGINX服务立即关闭。kill -TERM PID /
- kill -TERM 'cat /usr/local/nginx/logs/nginx.pid'
- kill -INT PID /
- kill -INT 'cat /usr/local/nginx/logs/nginx.pid' 注意这是反引号(飘号)意思执行里面的命令得到结果
kill -USER2 不停机平滑升级nginx版本步骤
ps -ef |grep nginx 查到PID
kill -user2 13472 生成新的配置文件,再使用PS查看就会有两个主进程 和两个子进程
kill -QUIT 旧的主进程
PS -ef | grep nginx 这样只有新的主程和子进程,平滑升级到最新版本
2、nginx的命令行控制
首先进到nginx 安装路径下,找到nginx启动二进制文件
[root@localhost ]# cd /usr/local/nginx/sbin
[root@localhost sbin]#./nginx 启动服务
[root@localhost sbin]# ps -ef | grep nginx
![在这里插入图片描述](https://csdn-img-blog.oss-cn-beijing.aliyuncs.com/766a34fa64704db2a09d0e20708daafe.png#pic_center)查看nginx帮助命令
[root@localhost sbin]#./nginx -h 列出参数选项
-v 显示版本信息
-V 显示版本和相关内容,GCC和安装的路径、模块等信息。内容丰富些。
-t 检查配置,语法检查正确否
[root@localhost sbin]#.nginx -tq
语法检查成功不输出内容,只有报错才有内容显示出来
-T 同上,但内容多些,显示配置内容。
-s:信号,后面可以跟stop quit reopen reload 和上面的信号操作类似-stop 类似于TERM/INT- quit 类似于QUIT信号的作用- reopen 类似于usr1信号作用- reload 类似于HUP信号的作用,修改配置 执行后生效
-p: 设置prefix路径,默认是在/usr/local/nginx
-c:设置配置文件存放路径.默认在/usr/local/nginx/conf/nginx.conf
可以指定使用某个路径下的配置文件 ,一般和-tc 配合使用。
-g: