站长资讯网
最全最丰富的资讯网站

Centos环境下Nginx设置开机自启

nginx安装

一 编写shell脚本

这里使用的是编写shell脚本的方式来处理
编辑nginx

  vi /etc/init.d/nginx

(输入下面的代码)

  #!/bin/sh  #  # nginx - this script starts and stops the nginx daemon  #  # chkconfig:   - 85 15  # description:  NGINX is an HTTP(S) server, HTTP(S) reverse   #               proxy and IMAP/POP3 proxy server  # processname: nginx  # config:      /etc/nginx/nginx.conf  # config:      /etc/sysconfig/nginx  # pidfile:     /var/run/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 0  nginx="/usr/sbin/nginx"  prog=$(basename $nginx)  NGINX_CONF_FILE="/etc/nginx/nginx.conf"  [ -f /etc/sysconfig/nginx ] && . /etc/sysconfig/nginx  lockfile=/var/lock/subsys/nginx  make_dirs() {     # make required directories     user=`$nginx -V 2>&1 | grep "configure arguments:" | sed 's/[^*]*--user=([^ ]*).*/1/g' -`     if [ -z "`grep $user /etc/passwd`" ]; then         useradd -M -s /bin/nologin $user     fi     options=`$nginx -V 2>&1 | grep 'configure arguments:'`     for opt in $options; do         if [ `echo $opt | grep '.*-temp-path'` ]; then             value=`echo $opt | cut -d "=" -f 2`             if [ ! -d "$value" ]; then                 # echo "creating" $value                 mkdir -p $value && chown -R $user $value             fi         fi     done  }  start() {      [ -x $nginx ] || exit 5      [ -f $NGINX_CONF_FILE ] || exit 6      make_dirs      echo -n $"Starting $prog: "      daemon $nginx -c $NGINX_CONF_FILE      retval=$      echo      [ $retval -eq 0 ] && touch $lockfile      return $retval  }  stop() {      echo -n $"Stopping $prog: "      killproc $prog -QUIT      retval=$      echo      [ $retval -eq 0 ] && rm -f $lockfile      return $retval  }  restart() {      configtest || return $      stop      sleep 1      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 0          $1          ;;      stop)          rh_status_q || exit 0          $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 0              ;;      *)          echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload|configtest}"          exit 2  esac

设置文件的访问权限

  chmod a+x /etc/init.d/nginx

这样在控制台就很容易的操作nginx了:

查看Nginx当前状态: /etc/init.d/nginx status

启动Nginx : /etc/init.d/nginx start

停止Nginx : /etc/init.d/nginx stop

重启Ngin: /etc/init.d/nginx restart

如果修改了nginx的配置文件nginx.conf,也可以使用上面的命令重新加载新的配置文件并运行,可以将此命令加入到rc.local文件中,这样开机的时候nginx就默认启动了

二 设置开机启动

编辑rc.local文件

  vi /etc/rc.local

加入下面的代码

  /etc/init.d/nginx start

保存并退出,下次重启会生效。

赞(0)
分享到: 更多 (0)
网站地图   沪ICP备18035694号-2    沪公网安备31011702889846号