一聚教程网:一个值得你收藏的教程网站

热门教程

PHP+Nginx+MongoDB设置开机自动启动服务

时间:2022-06-30 18:52:42 编辑:袖梨 来源:一聚教程网

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

重启生效

热门栏目