Linux (CentOS) set to start automatically at boot nginx (two way)

First, create a file in the /etc/init.d/ directory nginx linux system, use the following command:

1
vim /etc/init.d/nginx

Add the following command in a script:

Copy the code
#!/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
Copy the code

This script from the official nginx, script address: http://wiki.nginx.org/RedHatNginxInitScript  , but pay attention, if you are self-defined nginx compiled and installed, you need to modify your installation path based on the following two configurations:

nginx = "/ usr / sbin / nginx" modified path nginx execution of the program.

NGINX_CONF_FILE = "/ etc / nginx / nginx.conf" modified path of the profile.

(Note the point: This file is uploaded to the server is the best time to copy the past, do not direct upload files written with windows, so there will be no legal tips, can not perform [look https://blog.csdn.net/russ44/ article / details / 51694047])

Set execute permissions on the file after you save the script file:

chmod a+x /etc/init.d/nginx
Then, it can be managed through the script for nginx service:
/etc/init.d/nginx start
/etc/init.d/nginx stop

Use chkconfig to manage

The above method completes the function script management services nginx, but still not easy, for example, to set up nginx boot and so on. Then you can use chkconfig to set.

First nginx chkconfig management services to join the list:

chkconfig --add /etc/init.d/nginx
After completion of this, you can use the service to nginx start, reboot and other operations.
service nginx start
service nginx stop

Boot mode setting terminal:

chkconfig nginx on

Reference from: http: //blog.csdn.net/boyish_/article/details/51768784

  

==============================================================

Here's another script:

Add the following command in a script:

Copy the code
#!/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/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 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 /var/run/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
Copy the code

Note that the configuration in the path, you need to change the path to the appropriate path of their own machines.

Then, access the settings file:

chmod a + x /etc/init.d/nginx; (a + x parameter indicates ==> all user can execute user may perform all)

Finally ngix added to the rc.local file so that boot time on default nginx started

we /etc/rc.local

Add to

/etc/init.d/nginx start   

Save and Exit

Will take effect the next restart, nginx achieve self-starting.

 

Self-reference, thanks to the original author: http: //blog.163.com/qsc0624@126/blog/static/140324073201312734548701/

Guess you like

Origin www.cnblogs.com/jianmingyuan/p/11087818.html