nginx php-fpm memcached 均为编译安装,将脚本统一放置在/etc/init.d/ 下,形成启动服务的标准化。
一、编译安装后nginx启动、停止有些麻烦,将下面内容添加到/etc/init.d/nginx中,作为nginx的服务启动。
#!/bin/bash
#chkconfig: 345 85 15
#description:It is used to serve
PATH=/usr/local/nginx/sbin:$PATH
export PATH
# check if root account
if [ $(id -u) != "0" ];then
printf "Error:You must be root account!\n"
exit 1
fi
#Define environment variables
NGINX_PID=/usr/local/nginx/logs/nginx.pid
NGINX_DAEMON=/usr/local/nginx/sbin/nginx
#Function define
fun_start()
{
printf "Starting nginx ...\n"
if [ -f $NGINX_PID ];then
printf "Nginx is running!\n"
exit 1
else
$NGINX_DAEMON
printf "Nginx start successfully!\n"
fi
}
fun_stop()
{
printf "Stoping Nginx...\n"
if [ -f $NGINX_PID ];then
kill $(cat $NGINX_PID)
printf "Nginx is stopped!\n"
else
printf "Nginx is not running!\n"
fi
}
fun_reload()
{
printf "Reloading Nginx...\n"
if [ -f $NGINX_PID ];then
$NGINX_DAEMON -s reload
else
printf "Nginx is not running!\n"
fi
}
fun_restart()
{
printf "Restarting Nginx..."
kill $(cat $NGINX_PID)
$NGINX_DAEMON
}
fun_status()
{
if [ -f $NGINX_PID ];then
printf "Nginx is running!\n"
else
printf "Nginx is stop!\n"
fi
}
case "$1" in
start)
fun_start
;;
stop)
fun_stop
;;
restart)
fun_stop
fun_start
;;
reload)
fun_reload
;;
status)
fun_status
;;
*)
printf "Usage:Only {start|stop|restart|reload|status}"
esac
exit
------------- < nginx script END> --------------
说明:脚本中红色字体部分为将nginx添加为linux系统服务必须添加的语句,否则无法添加成功。
红色字体的意思为:启动级别 | 启动优先级 | 停止优先级
1、将nginx赋予执行权限,放置在/etc/init.d/下
2、chkconfig --add nginx
二、将php-fpm的启动脚本放置在/etc/init.d下
ln -s /usr/local/php5/sbin/php-fpm /etc/init.d/php-fpm
三、memcached启动脚本
路径:/etc/init.d/memcached
赋予执行权限
#!/bin/bash
# check if root account
if [ $(id -u) != "0" ];then
printf "Error:You must be root account!\n"
exit 1
fi
memcache_prog=$(ps -ef | grep memcached | grep -v grep | wc -l)
memcache_pid=$(ps -ef | grep memcached | grep -v grep | awk '{print $2}')
mem=50
user=root
port=12000
fun_start()
if [ $memcache_prog != "0" ];then
printf "memcached is running !\n"
else
memcached -d -m $mem -u $user -p $port
printf "memcached is started!\n"
fi
fun_stop()
if [ $memcache_prog = "0" ];then
printf "memcached is not running !\n"
else
kill $memcache_pid
printf "memcached is stopped\n"
fi
fun_status()
if [ $memcache_prog != "0" ];then
printf "memcached is running !\n"
else
printf "memcached is stopped!\n"
fi
case "$1" in
start)
fun_start
;;
stop)
fun_stop
;;
restart)
fun_stop
fun_start
;;
status)
fun_status
;;
*)
printf "Usage:Only {start | stop | restart | status }\n"
esac
exit
------------- <memcached script END> ---------------------
转载于:https://blog.51cto.com/bensonzy/781354