Linux(CentOS)系统下设置nginx开机自启动

Nginx 是一个很强大的高性能Web和 反向代理服务器。下面介绍在linux下安装后,如何设置开机自启动。
首先,在linux系统的 /etc/init.d/目录下创建nginx文件,使用如下命令:
vi /etc/init.d/nginx

在脚本中添加如下命令:
*********************************************************************************************************************************

#!/bin/bash

# nginx Startup script for the Nginx HTTPServer

# it is v.0.0.2 version.

# chkconfig: - 85 15

# description: Nginx is a high-performance weband proxy server.

#            It has a lot of features, butit's not for everyone.

# processname: nginx

# pidfile:/var/run/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=/var/run/nginx.pid

RETVAL=0

prog="nginx"

# Source function library.

. /etc/rc.d/init.d/functions

# Source networkingconfiguration.

. /etc/sysconfig/network

# Check that networking isup.

[ ${NETWORKING} = "no" ]&& exit 0

[ -x $nginxd ] || exit 0

# Start nginx daemonsfunctions.

start() {

if [ -e $nginx_pid ];then

   echo"nginx already running...."

   exit1

fi

   echo -n$"Starting $prog: "

   daemon$nginxd -c ${nginx_config}

  RETVAL=$?

  echo

   [ $RETVAL= 0 ] && touch/var/lock/subsys/nginx

   return$RETVAL

}

# Stop nginx daemonsfunctions.

stop() {

       echo -n $"Stopping $prog:"

       killproc$nginxd

       RETVAL=$?

       echo

       [ $RETVAL = 0 ]&& rm -f /var/lock/subsys/nginx/var/run/nginx.pid

}

# reload nginx servicefunctions.

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


*********************************************************************************************************************************
注意红色加粗部分,需要将路径改为自己机器的相应路径。
接着,设置文件的访问权限:
chmod a+x /etc/init.d/nginx                                                        (a+x参数表示 ==> all user can execute 所有用户可执行)

最后将ngix加入到rc.local文件中,这样开机的时候nginx就默认启动了

vi /etc/rc.local

添加

/etc/init.d/nginx start  

保存并退出

下次重启就会生效,实现nginx的自启动。


编写开机启动脚本:

I、nginx开机启动

1、在/etc/init.d/目录下创建脚本

vi  /etc/init.d/nginx

2、更改脚本权限

chmod 775 /etc/init.d/nginx

3、编写脚本内容

    

#!/bin/bash
# nginx Startup script for the Nginx HTTP Server
# it is v.0.0.2 version.
# 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: /var/run/nginx.pid
# config: /usr/local/nginx/conf/nginx.conf
nginxd=/usr/local/webserver/nginx/sbin/nginx
nginx_config=/usr/local/webserver/nginx/conf/nginx.conf
nginx_pid=/usr/local/webserver/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/webserver/nginx/logs/nginx.pid
}

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

  

 

4、设置开机启动

chkconfig nginxd on

II  设置MySQL开机启动

1、将mysql安装目录下 support-files目录下的mysql.server文件拷贝到/etc/init.d/目录下并改名为mysqld,并更改权限

chmod 775 /etc/init.d/mysqld

2、设置开机启动

#chkconfig mysqld on

III、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 查看开机启动服务列表

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值