Nginx 启动/重启脚本笔记

谁说胖子不能爱 提交于 2019-12-09 20:11:21

Nginx本身可以通过

kill -HUP `cat /usr/local/nginx/logs/nginx.pid` 

进行平滑重启的,可以通过ps进程查看一下。效果还是挺不错的。

这里介绍的是另外一种方式service,适合RHEL/CentOS系列。

  1. kill nginx进程
kill `cat /usr/local/nginx/logs/nginx.pid` 
  1. 建立 /etc/init.d/nginx 文件
#!/bin/sh # # nginx - this script starts and stops the nginx daemin # # chkconfig:   - 85 15 # description:  Nginx is an HTTP(S) server, HTTP(S) reverse \ #               proxy and IMAP/POP3 proxy server # processname: nginx # config:      /usr/local/nginx/conf/nginx.conf # pidfile:     /usr/local/nginx/logs/nginx.pid # Source function library. . /etc/rc.d/init.d/functions # Source networking configuration. . /etc/sysconfig/network # Check that networking is up. [ "$NETWORKING" = "no" ] && exit  nginx="/usr/local/nginx/sbin/nginx" prog=$(basename $nginx) NGINX_CONF_FILE="/usr/local/nginx/conf/nginx.conf" lockfile=/var/lock/subsys/nginx start() {     [ -x $nginx ] || exit 5     [ -f $NGINX_CONF_FILE ] || exit 6     echo -n $"Starting $prog: "     daemon $nginx -c $NGINX_CONF_FILE     retval=$?     echo     [ $retval -eq  ] && touch $lockfile     return $retval } stop() {     echo -n $"Stopping $prog: "     killproc $prog -QUIT     retval=$?     echo     [ $retval -eq  ] && rm -f $lockfile     return $retval } restart() {     configtest || return $?     stop     start } reload() {     configtest || return $?     echo -n $"Reloading $prog: "     killproc $nginx -HUP     RETVAL=$?     echo } force_reload() {     restart } configtest() {   $nginx -t -c $NGINX_CONF_FILE } rh_status() {     status $prog } rh_status_q() {     rh_status >/dev/null 2>&1 } case "$1" in     start)         rh_status_q && exit          $1         ;;     stop)         rh_status_q || exit          $1         ;;     restart|configtest)         $1         ;;     reload)         rh_status_q || exit 7         $1         ;;     force-reload)         force_reload         ;;     status)         rh_status         ;;     condrestart|try-restart)         rh_status_q || exit              ;;     *)         echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload|configtest}"         exit 2 esac 
  1. 设置脚本为可执行
chmod +x /etc/init.d/nginx 
/sbin/chkconfig nginx on 
  1. 检查下
/sbin/chkconfig --list nginx nginx           :off   1:off   2:on    3:on    4:on    5:on    6:off 

完成咯~可以尝试下面方式启动或者重启

service nginx start service nginx stop service nginx restart service nginx reload /etc/init.d/nginx start /etc/init.d/nginx stop /etc/init.d/nginx restart /etc/init.d/nginx reload
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!