Nginx设置开机启动

2014年5月30日 由 admin 留言 »

把文章后面的Nginx脚本代码一或者Nginx脚本代码二保存为nginx文件放入/etc/init.d/nginx然后可以通过

/etc/init.d/nginx start   #命令启动nginx
/etc/init.d/nginx stop    #命令停止nginx
/etc/init.d/nginx restart #命令重启nginx
or
service nginx start       #命令启动nginx
service nginx stop        #命令停止nginx
service nginx restart     #命令重启nginx

开机自动启动nginx,
保存好 /etc/init.d/nginx文件后,执行以下命令:

chmod 775 /etc/init.d/nginx
chkconfig --add nginx
chkconfig --level 2156 nginx on #如有提示什么的,就把2156端口去掉执行
chkconfig --list nginx

Nginx脚本代码一:如果是默认安装直接使用即可,如果有改动路径,修改DAEMON,CONFIGFILE,PIDFILE三处为你nginx安装路径

#! /bin/sh
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: starts the nginx web server
# chkconfig: - 85 15
# description: nginx is a World Wide Web server. It is used to serve

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DESC="nginx daemon"
NAME=nginx
DAEMON=/usr/local/nginx/sbin/$NAME
CONFIGFILE=/usr/local/nginx/conf/$NAME.conf
PIDFILE=/usr/local/nginx/logs/$NAME.pid
SCRIPTNAME=/etc/init.d/$NAME

set -e
[ -x "$DAEMON" ] || exit 0

do_start() {
 $DAEMON -c $CONFIGFILE || echo -n "nginx already running"
}

do_stop() {
 kill -INT `cat $PIDFILE` || echo -n "nginx not running"
}

do_reload() {
 kill -HUP `cat $PIDFILE` || echo -n "nginx can't reload"
}

case "$1" in
 start)
 echo -n "Starting $DESC: $NAME"
 do_start
 echo "."
 ;;
 stop)
 echo -n "Stopping $DESC: $NAME"
 do_stop
 echo "."
 ;;
 reload|graceful)
 echo -n "Reloading $DESC configuration..."
 do_reload
 echo "."
 ;;
 restart)
 echo -n "Restarting $DESC: $NAME"
 do_stop
 do_start
 echo "."
 ;;
 *)
 echo "Usage: $SCRIPTNAME {start|stop|reload|restart}" >&2
 exit 3
 ;;
esac

exit 0

Nginx脚本代码二:

#!/bin/bash  
# nginx Startup script for the Nginx HTTP Server  
# this script create it by gcec at 2009.10.22.  
# it is v.0.0.1 version.  
# if you find any errors on this scripts,please contact gcec cyz.  
# and send mail to support at gcec dot cc.  
#  
# chkconfig: - 85 15  
# description: Nginx is a high-performance web and proxy server.  
#              It has a lot of features, but it's not for everyone.  
# processname: nginx  
# pidfile: /usr/local/nginx/logs/nginx.pid  
# config: /usr/local/nginx/conf/nginx.conf  
  
nginxd=/usr/local/nginx/sbin/nginx  
nginx_config=/usr/local/nginx/conf/nginx.conf  
nginx_pid=/usr/local/nginx/logs/nginx.pid  
  
RETVAL=0  
prog="nginx"  
  
# Source function library.  
. /etc/rc.d/init.d/functions  
  
# Source networking configuration.  
. /etc/sysconfig/network  
  
# Check that networking is up.  
[ ${NETWORKING} = "no" ] && exit 0  
  
[ -x $nginxd ] || exit 0  
  
  
# Start nginx daemons functions.  
start() {  
  
if [ -e $nginx_pid ];then  
   echo "nginx already running...."  
   exit 1  
fi  
  
   echo -n $"Starting $prog: "  
   daemon $nginxd -c ${nginx_config}  
   RETVAL=$?  
   echo  
   [ $RETVAL = 0 ] && touch /var/lock/subsys/nginx  
   return $RETVAL  
  
}  
  
  
# Stop nginx daemons functions.  
stop() {  
        echo -n $"Stopping $prog: "  
        killproc $nginxd  
        RETVAL=$?  
        echo  
        [ $RETVAL = 0 ] && rm -f /var/lock/subsys/nginx /usr/local/nginx/logs/nginx.pid  
}  
  
  
# reload nginx service functions.  
reload() {  
  
    echo -n $"Reloading $prog: "  
    #kill -HUP `cat ${nginx_pid}`  
    killproc $nginxd -HUP  
    RETVAL=$?  
    echo  
  
}  
  
# See how we were called.  
case "$1" in  
start)  
        start  
        ;;  
  
stop)  
        stop  
        ;;  
  
reload)  
        reload  
        ;;  
  
restart)  
        stop  
        start  
        ;;  
  
status)  
        status $prog  
        RETVAL=$?  
        ;;  
*)  
        echo $"Usage: $prog {start|stop|restart|reload|status|help}"  
        exit 1  
esac  
  
exit $RETVAL  

保存好 /etc/init.d/nginx文件后,执行以下命令:

chmod 775 /etc/init.d/nginx
chkconfig --add nginx
chkconfig --level 345 nginx on  #如果不行就去掉端口或者nginx改为nginxd
chkconfig --list nginx
/etc/init.d/nginx start   #命令启动nginx
/etc/init.d/nginx stop    #命令停止nginx
/etc/init.d/nginx restart #命令重启nginx
or
service nginx start       #命令启动nginx
service nginx stop        #命令停止nginx
service nginx restart     #命令重启nginx

附带:
设置mysql开机启动
1、将mysql安装目录下 support-files目录下的mysql.server文件拷贝到/etc/init.d/目录下并改名为mysqld,并更改权限

chmod 775 /etc/init.d/mysqld

2、设置开机启动

chkconfig mysqld on

php-fpm开机启动
1、在/etc/init.d/目录下创建脚本

vi  /etc/init.d/php-fpm

2、更改脚本权限

chmod 775 /etc/init.d/php-fpm

3、编写脚本内容

#!/bin/sh
       #
       # php-fpm - this script starts and stops the php-fpm daemin
       #
       # chkconfig: - 85 15
       # processname: php-fpm
       # config:      /usr/local/php/etc/php-fpm.conf

       set -e

       PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
       DESC="php-fpm daemon"
       NAME=php-fpm
       DAEMON=/usr/local/php/sbin/$NAME     //这里设成自己的目录
       CONFIGFILE=/usr/local/php/etc/php-fpm.conf   //这里设成自己的目录
       PIDFILE=/usr/local/php/var/run/$NAME.pid   //这里设成自己的目录
       SCRIPTNAME=/etc/init.d/$NAME   //这里设成自己的目录
       
       # If the daemon file is not found, terminate the script.
       test -x $DAEMON || exit 0

       d_start(){
           $DAEMON -y $CONFIGFILE || echo -n " already running"
       }

       d_stop(){
           kill -QUIT `cat $PIDFILE` || echo -n " no running"
       }

       d_reload(){
           kill -HUP `cat $PIDFILE` || echo -n " could not reload"
       }

       case "$1" in
           start)
               echo -n "Starting $DESC: $NAME"
               d_start
               echo "."
               ;;
           stop)
               echo -n "Stopping $DESC: $NAME"
               d_stop
               echo "."
               ;;
           reload)
               echo -n "Reloading $DESC configuration..."
               d_reload
               echo "Reloaded."
               ;;
           restart)
               echo -n "Restarting $DESC: $NAME"
               d_stop
               # Sleep for two seconds before starting again, this should give the nginx daemon some time to perform a graceful stop
               sleep 2
               d_start
               echo "."
               ;;
           *)
               echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload)" >&2
               exit 3
               ;;
       esac
       exit 0

4、设置开机启动

chkconfig php-fpm on

大功告成。可以用命令 chkconfig 查看开机启动服务列表

广告位
分享到:

发表回复