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

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

重启生效

时间: 2024-07-28 13:10:24

PHP+Nginx+MongoDB设置开机自动启动服务的相关文章

nginx + fastDFS 设置开机自动启动

由于在服务器上有太多的软件 不可能每次启动都要重新启动服务吧(每晚断电...必须重启电脑) vim /etc/rc.d/rc.local 添加下列脚本 1 /usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart 2 /usr/bin/fdfs_storaged /etc/fdfs/storage.conf restart 3 /usr/local/nginx/sbin/nginx  注:如果tracker和storage安装在不同的位置,则需要

开机启动-数据库和应用都装在一台服务器上同时设置开机自动启动会有问题吗?

问题描述 数据库和应用都装在一台服务器上同时设置开机自动启动会有问题吗? 会不会出现数据库还没启动完成应用就启动了,然后连不上数据库就出错了? 解决方案 数据库能否连上,不是数据库软件启动,而是服务,即使你没有进入windows,sqlserver的服务也起来了,你一样能连接,当然,也不排除,应用启动迅速,而服务还未准备好的情况 解决方案二: 肯定要保证数据库服务先正常启动的前提下再启动数据库 解决方案三: 对,服务在开机启动,一般不会连不上耳朵 解决方案四: win7以后,服务,启动应用程序,

Centos6和Centos7开机自动启动服务方法

说下Centos6和Centos7开机自动启动服务简单方法,我是采用yum install直接安装的,所以和自编译的方法有所不同,在这里只说rpm包安装后的自启动服务的方法: Centos6:对于Centos6系统来说,直接使用chkconfig命令即可. 例如我们以nginx服务为例: #chkconfig --add nginx 添加nginx服务 #chkconfig nginx on 开机自启nginx服务 #chkconfig nginx off 关闭开机自启 #chkconfig -

钉钉如何设置开机自动启动?

  登入电脑客户端,点击左下角的"设置"的标识,点击"设置-开机自动启动"中操作即可;

wallpaper engine怎么设置开机自动启动

  wallpaper engine怎么设置开机自动启动,关键设置: 全部保持运行 综合设置,不用设置管理员权限,这样少出BUG 这样设置后就能开机自启wallpaper engine了,亲测是秒进,设置里面全部开到最高CPU也就占5%左右,所以不用担心过多占用哦!

Mac OS X系统下设置开机自动启动运行软件(开机启动项)的方法

  开机自行启动运行软件可以说是把双刃剑,一方面方便操作,另一方面开机启动项过多会降低开机速度.今天就介绍苹果电脑 Mac OS X 系统下设置开机自动启动运行软件(开机启动项)的方法. 右击 Dock 上的图标即可设置软件随 Mac 开机自动加载运行 首先是最简单的设置 Mac 开机自动启动运行软件(开机启动项)的方法:右击苹果电脑 Dock 栏上的软件图标,点击"选项",选择"在登录时打开". OK,下次开机,该软件会和 Mac OS X 系统一起自动启动.反之

Android开发之设置开机自动启动的几种方法

Android开发之设置开机自动启动的几种方法 方法一: <!-- 开机启动 --> <receiver android:name=".AutoStartReceiver"> <intent-filter> <action android:name="android.intent.action.BOOT_COMPLETED"/> <category android:name="android.inten

win7系统如何设置开机自动启动防火墙

  防火墙是windows操作系统的一个安全功能,开启windows防火墙能够抵制病毒木马的传播感染,防火墙需要在电脑开机自动启动才能起到主动防御病毒的目的,那么在win7纯净版操作系统下该如何开启防火墙开机自动启动功能呢?一起来看看windows防火墙开机自动启动的设置教程吧. 自动启动防火墙方法/步骤: 1.win7 64位旗舰版下载后,鼠标右击系统下面的计算机图标,然后选择"管理"选项; 2.在弹出来的计算机管理界面里面,找到服务和应用程序选项,接着再点击服务项; 3.然后在窗口

Android中实现开机自动启动服务(service)实例_Android

最近在将 HevSocks5Client 移植到 Android 上了,在经过增加 signalfd 和 timerfd 相关的系统调用支持后,就可以直接使用 NDK 编译出 executable 了.直接的 native exectuable 在 Android 系统总还是不太方便用哦.还是做成一个 apk 吧,暂定只写一个 service 并开机自动启用,无 activity 的. Java 中调用 native 程序我选择使用 JNI 方式,直接在 JNI_OnLoad 方法中调用 pth