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:
#!/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
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:
#!/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
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/