nginx開機自動啟動指令碼
把以下指令碼儲存為nginx檔案放入/etc/init.d/nginx
然後可以通過
/etc/init.d/nginx start 命令啟動nginx
/etc/init.d/nginx stop 命令停止nginx
/etc/init.d/nginx restart 命令重啟nginx
開機自動啟動nginx,
如果需要開機啟動服務,儲存好 /etc/init.d/nginx檔案後,
執行以下命令:
代碼如下 |
複製代碼 |
chkconfig --add ningx chkconfig --level nginx 2345 on |
---------------------分割線下是指令碼內容,紅色字型需要你修改-------------------------------------------
代碼如下 |
複製代碼 |
#! /bin/sh 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,php,mongodb一起寫一個指令碼
每次開機都要手工一個一個啟動,nginx,php,mongodb,太麻煩了,寫了個指令碼,但是MongoDB啟動會輸出日誌,所以不是很完美,會顯示日誌。
代碼如下 |
複製代碼 |
/root/webserver #!/bin/bash PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin export PATH export LC_ALL=C # Check if user is root if [ $(id -u) != "0" ]; then printf "Error: You must be root to run this script!n" exit 1 fi NGINXDAEMON=/home/server/nginx-1.4.1/sbin/nginx NGINXPIDFILE=/home/server/nginx-1.4.1/logs/nginx.pid PHPFPMDAEMON=/home/server/php-5.4.15/sbin/php-fpm PHPFPMPID=/home/server/php-5.4.15/var/run/php-fpm.pid MONGODBDAEMON=/home/server/mongodb-linux-i686-2.4.3/bin/mongod MONGODBCONF=/home/server/mongodb-linux-i686-2.4.3/mongodb.conf function_start() { printf "Starting Nginx+PHP+Mongodb...n" if [ -f $NGINXPIDFILE ]; then printf "Nginx is runing!n" else $NGINXDAEMON fi if [ -f $PHPFPMPID ]; then printf "PHP-FPM is runing!n" else $PHPFPMDAEMON fi lsof -i:27017 && printf "MongoDB is runing!n" || $MONGODBDAEMON --config $MONGODBCONF } function_stop() { printf "Stoping Nginx+PHP...n" if [ -f $NGINXPIDFILE ]; then kill -QUIT `cat $NGINXPIDFILE` else printf "Nginx program is not runing!n" fi if [ -f $PHPFPMPID ]; then kill -INT `cat $PHPFPMPID` else printf "PHP-FPM program is not runing!n" fi lsof -i:27017 && killall mongod || printf "MongoDB is not runing!n" } function_status() { if [ -f $NGINXPIDFILE ]; then printf "Nginx is runing!n" else printf "Nginx is stop!n" fi if [ -f $PHPFPMPID ]; then printf "PHP-FPM is runing!n" else printf "PHP-FPM is stop!n" fi lsof -i:27017 && printf "MongoDB is runing!n" || printf "MongoDB is stop!n" } if [ "$1" = "start" ]; then function_start elif [ "$1" = "stop" ]; then function_stop elif [ "$1" = "restart" ]; then function_stop function_start elif [ "$1" = "status" ]; then function_status else printf "Usage: /root/webserver {start|stop|restart|status}n" fi chmod +x /root/webserver |
添加開機啟動:
代碼如下 |
複製代碼 |
vi /etc/rc.local
|
添加
代碼如下 |
複製代碼 |
/root/webserver start
|
重啟生效