首页 > 编程知识 正文

nginx 关闭命令,重新启动nginx命令

时间:2023-05-06 18:47:59 阅读:203280 作者:2292

提示:我的nginx安装目录为:/usr/local/nginx

一、Nginx自身命令 1.启动 #启动#1.直接启动#进入nginx目录,执行启动命令cd /usr/local/nginx/sbin./nginx# 或者直接/usr/local/nginx/sbin/nginx#2.指定配置文件方式启动#进入nginx目录,执行启动命令cd /usr/local/nginx/sbin./nginx -c /usr/local/nginx/conf/nginx.conf#或者/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf 2.检查nginx配置文件 #进入nginx目录cd /usr/local/nginx/sbin#检查配置文件是否有语法操作./nginx -t# 或者显示指定配置文件./nginx -t -c /usr/local/nginx/conf/nginx.conf

如果配置文件存在语法错误,会有相应的提示信息,正常我们修改配置后,先进行检查,然后在进行重启

3.平滑的重启,修改配置后,重新加载配置 #进入nginx目录cd /usr/local/nginx/sbin#执行重载命令./nginx -s reload

nginx工作中,包括一个master进程,多个worker进程。worker进程负责具体的http等相关工作,master进程主要是进行控制。
nginx -s reload 命令加载修改后的配置文件,命令下达后发生如下事件

Nginx的master进程检查配置文件的正确性,若是错误则返回错误信息,nginx继续采用原配置文件进行工作(因为worker未受到影响)Nginx启动新的worker进程,采用新的配置文件Nginx将新的请求分配新的worker进程Nginx等待以前的worker进程的全部请求已经都返回后,关闭相关worker进程重复上面过程,知道全部旧的worker进程都被关闭掉。
所以,重启之后,master的进程号不变,worker的进程号会改变。 4.关闭nginx #进入nginx目录cd /usr/local/nginx/sbin# 快速停止nginx./nginx -s stop# 完整有序的停止nginx,这个命令会等待所有请求结束后再关闭nginx./nginx -s quit 5.reopen重新打开日志文件 #进入nginx目录cd /usr/local/nginx/sbin# 重新打开日志文件./nginx -s reopen

当需要切割 nginx 日志文件时,我们需要用到 nginx -s reopen 命令,用来完成新日志的生成。
当日志文件太大时,一般我们是按天切割文件,也就是按天做个分类,每天的日志放在一个文件中,并用日期命令,方便日后查找。
但时我们简单的把文件移动并重新命令是无法及时生效的,因为在 linux 下的文件句柄,文件在被打开的情况下 mv 移走文件,操作这个文件的进程还是有这个文件的信息,原进程还是读写原来的文件,简单的 mv 无法生效也就无法完成我们想要的文件分隔。
一般我们需要两步:

移走文件并重命名利用 nginx 的 reopen 功能,完成新日志文件的生成。
参考地址,感谢博主分享 二、其他命令重启、关闭nginx # 查看进程号,下图 master的为主进程号ps -ef | grep nginx#从容停止Nginxkill -QUIT 主进程号#快速停止Nginxkill -TERM 主进程号#强制停止Nginxpkill -9 nginx#平滑重启nginx:kill -HUP 主进程号

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。