標籤:
一、Nginx開機啟動設定
1、在/etc/init.d/目錄下建立指令碼
vi /etc/init.d/nginx
2、變更指令碼許可權
chmod 775 /etc/init.d/nginx
3、編寫指令碼內容
#! /bin/sh
set -e
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DESC="nginx daemon"
NAME=nginx
DAEMON=/usr/local/nginx/sbin/$NAME
SCRIPTNAME=/etc/init.d/$NAME
PIDFILE=/var/run/$NAME.pid
# If the daemon file is not found, terminate the script.
test -x $DAEMON || exit 0
d_start() {
$DAEMON || echo -n " already running"
}
d_stop() {
kill -QUIT `cat $PIDFILE` || echo -n " not 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|reload}" >&2
exit 3
;;
esac
exit 0
4、設定開機啟動
這裡說明,Ubuntu 中系統沒有了RH系統中的 chkconfig 命令 !
可用一些小工具來管理 Ubuntu 的啟動選項,rcconf:
#sudo apt-get rcconf
#sudo apt-get install rcconf
root 下運行: #sudo rcconf
功能更全的工具:sysv-rc-conf
#sudo apt-get update
#sudo apt-get install sysv-rc-conf
運行:#sudo sysv-rc-conf
也可以直接加入啟動程式,例如把 /etc/init.d/red5 加入到系統自動啟動列表中:
#sudo sysv-rc-conf red5 on
其他使用方法見: google::Ubuntu::sysv-rc-conf 命令用法
二、PHP開機啟動設定
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.confset -ePATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/binDESC="php-fpm daemon"NAME=php-fpmDAEMON=/usr/local/php5.6/sbin/$NAMECONFIGFILE=/usr/local/php5.6/etc/$NAME.confPIDFILE=/var/run/php-fpm5.pidSCRIPTNAME=/etc/init.d/php-fpm5# If the daemon file is not found, terminate the script.test -x $DAEMON || exit 0d_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" instart)echo -n "Starting $DESC: $NAME"d_startecho ".";;stop)echo -n "Stopping $DESC: $NAME"d_stopecho ".";;reload)echo -n "Reloading $DESC configuration..."d_reloadecho "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 stopsleep 2d_startecho ".";;*)echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload)" >&2exit 3;;esacexit 0
4、通過上面的自啟動方法來設定。
三、MySQL開機啟動設定
1、複製相關檔案
cp -a ./support-files/my-default.cnf /etc/my.cnf
cp -a ./support-files/mysql.server /etc/init.d/mysqld
2、設定如上
四、Redis開機啟動設定
1、在/etc/init.d/目錄下建立指令碼
vi /etc/init.d/redis
2、變更指令碼許可權
chmod 775 /etc/init.d/redis
3、編寫指令碼內容
#!/bin/sh
# chkconfig: 2345 10 90
# Simple Redis init.d script conceived to work on Linux systems
# as it does use of the /proc filesystem.
REDISPORT=6379
EXEC=/usr/local/bin/redis-server
CLIEXEC=/usr/local/bin/redis-cli
PIDFILE=/var/run/redis.pid
CONF="/etc/redis.conf"
case "$1" in
start)
if [ -f $PIDFILE ]
then
echo "$PIDFILE exists, process is already running or crashed"
else
echo "Starting Redis server..."
$EXEC $CONF &
fi
;;
stop)
if [ ! -f $PIDFILE ]
then
echo "$PIDFILE does not exist, process is not running"
else
PID=$(cat $PIDFILE)
echo "Stopping ..."
$CLIEXEC -p $REDISPORT shutdown
while [ -x /proc/${PID} ]
do
echo "Waiting for Redis to shutdown ..."
sleep 1
done
echo "Redis stopped"
fi
;;
*)
echo "Please use start or stop as first argument"
;;
esac
4、通過上面的自啟動方法來設定。
Linux下Nginx、PHP、MySQL、Redis開機自啟動設定