欢迎登陆真网站,您的到来是我们的荣幸。 登陆 注册 忘记密码? ☆设为首页 △加入收藏
欢迎加入真幸福QQ群
电脑知识: 基础知识 网络技术 操作系统 办公软件 电脑维修 电脑安全 windows7 windows8 windows10 服务器教程 平板电脑 视频播放教程 网络应用 互联网 工具软件 浏览器教程 QQ技巧 输入法教程 影视制作 YY教程 wps教程 word教程 Excel教程 PowerPoint
云南西双版纳特产小花糯玉米真空包装


如何快速排除网络连接故障的六大步骤
利用USB无线上网卡实现手机和台机共享上网
无法配置此无线连接
交换机的工作原理详细介绍
视频服务器的工作原理以及应用情况
无线路由器无法登陆怎么办
无线网络WPA/WPA2密码破解资料教程
网络打印机如何添加?
解决图解路由无法登陆设置的方法
路由器无法登陆如何解决?
Nginx重启的简单命令
【 来源:网络 】【 点击:1 】 【 发布时间:2017_03_03 08:59:59 】

  当我们在Nginx中安装完一个新程序之后就需要进行重启,其实在重启的时候有个小技巧。kill命令就是一个十分神奇的命令。下面我们就来学些有关kill命令如何来进行Nginx重启的。

  如果机器比较慢,Nginx重启kill进程时一瞬间杀不完,再执行一次即可。这种重启方式不是特别安全,如果配置有误,则会重启失败,需要重新修改配置文件然后再启动,期间会消耗一点时间。不过对于目前普遍还是不怎么严格的http界而言,这点时间还不至于产生太大损失,只要不是在关键时刻搞出来就好。如果希望沿用这种重启办法,我提议还是先好好测试吧。

  后来我在nginx.net上看到了一种更奇妙的Nginx重启

  kill -HUP $pid($pid就是nginx master进程的进程号)

  我一般这样用

  kill -HUP `cat /data/nginx/logs/nginx.pid`

  这种方式的好处是实现“平滑重启”,在ps -aux中可以看到,nginx首先启动新进程,旧的进程仍然提供服务,在一段时间后,旧的进程服务结束就自动关闭,剩下新进程继续服务。但是这种方式也是有缺点的,如果配置文件有误,或者资源冲突,则重启失效,但nginx并没有任何的提示!这就会时常发现改动的配置文件没有生效,又比较难找到问题。

  所以,最后杂和了一下问题,弄了一个nginx.sh,这个版本的nginx.sh还是没有解决kill -HUP的资源冲突的问题,但解决了配置文件的问题。资源冲突的比如80端口被占用、日志文件目录没有创建这种的。

  参考网上的做法,用如下脚本控制:

  #!/bin/sh

  BASE_DIR='/usr/local/'

  ${BASE_DIR}nginx/sbin/nginx -t -c ${BASE_DIR}nginx/conf/nginx.

  conf >& ${BASE_DIR}nginx/logs/nginx.start

  info=`cat ${BASE_DIR}nginx/logs/nginx.start`

  if [ `echo $info | grep -c "syntax is ok" ` -eq 1 ]; then

  if [ `ps aux|grep "nginx"|grep -c "master"` == 1 ]; then

  kill -HUP `cat ${BASE_DIR}nginx/logs/nginx.pid`

  echo "ok"

  else

  killall -9 nginx

  sleep 1

  ${BASE_DIR}nginx/sbin/nginx

  fi

  else

  echo "######## error: ########"

  cat ${BASE_DIR}nginx/logs/nginx.start

  fi

  以上就是对Nginx重启的详细介绍希望大家有所收获。

本网站由川南居提供技术支持,fkzxf版权所有 浙ICP备12031891号