lnmp启动脚本
#!/bin/bash
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH # Check if user is root
if [ $(id -u) != "0" ]; then
printf "Error: You must be root to run this script!\n"
exit 1
fi printf "=========================================================================\n"
printf "Manager for LNMP service , Written by lixiuran \n"
printf "\n"
printf "Usage: /root/lnmp {start|stop|reload|restart|kill|status}\n"
printf "=========================================================================\n" NGINXNAME=nginx
NGINXCONFIGFILE=/usr/local/nginx/conf/$NGINXNAME.conf
NGINXPIDFILE=/var/run/$NGINXNAME.pid
NGINXDAEMON=/usr/local/nginx/sbin/$NGINXNAME
PHPFPMNAME=php-fpm
PHPFPMCONFIGFILE=/usr/local/php/etc/$PHPFPMNAME.conf
PHPFPMPIDFILE=/var/run/$PHPFPMNAME.pid
PHPFPMDAEMON=/usr/local/php/sbin/$PHPFPMNAME
HOSTNAME=`hostname`
MYSQLPIDFILE=/data/mysql/$HOSTNAME.pid function_start()
{
printf "Starting LNMP...\n"
if [ -f $NGINXPIDFILE ]; then
printf "Nginx is runing!\n"
exit 1
else
$NGINXDAEMON -c $NGINXCONFIGFILE
printf "Nginx start successfully!\n"
fi if [ -f $PHPFPMPIDFILE ]; then
printf "php-fpm is runing!\n"
else
$PHPFPMDAEMON &
printf "PHP-FPM start successfully!\n"
fi if [ -f $MYSQLPIDFILE ]; then
printf "MySQL is runing!\n"
else
/etc/init.d/mysql start
printf "MySQL start successfully!\n"
fi
} function_stop()
{
printf "Stoping LNMP...\n"
if [ -f $NGINXPIDFILE ]; then
kill `cat $NGINXPIDFILE`
printf "Nginx program is stop\n"
else
printf "Nginx program is not runing!\n"
fi if [ -f $PHPFPMPIDFILE ]; then
kill -INT `cat $PHPFPMPIDFILE`
printf "PHP-FPM program is stop\n"
else
printf "PHP-FPM program is not runing!\n"
fi if [ -f $MYSQLPIDFILE ]; then
/etc/init.d/mysql stop
printf "MySQL program is stop\n"
else
printf "MySQL program is not runing!\n"
fi
} function_reload()
{
printf "Reload LNMP...\n"
printf "Reload Nginx configure...\n"
$NGINXDAEMON -t
$NGINXDAEMON -s reload
printf "Nginx program is reloding!\n"
/etc/init.d/mysql reload
kill -USR2 `cat $PHPFPMPIDFILE`
} function_restart()
{
printf "Reload LNMP...\n"
printf "Reload Nginx configure...\n"
$NGINXDAEMON -t
kill `cat $NGINXPIDFILE`
$NGINXDAEMON -c $NGINXCONFIGFILE
printf "Nginx program is restarting!\n"
/etc/init.d/mysql restart
printf "PHP-FPM program is restarting!\n"
kill -USR2 `cat $PHPFPMPIDFILE`
} function_kill()
{
kill `cat $NGINXPIDFILE`
kill `cat $PHPFPMPIDFILE`
kill `cat $MYSQLPIDFILE`
} function_status()
{
if [ -f $NGINXPIDFILE ]; then
printf "Nginx is runing!\n"
else
printf "Nginx is stop!\n"
fi if [ -f $PHPFPMPIDFILE ]; then
printf "php-fpm is runing!\n"
else
printf "php-fpm is stop!\n"
fi
/etc/init.d/mysql status
} case "$1" in
start)
function_start
;;
stop)
function_stop
;;
restart)
function_stop
function_start
;;
reload)
function_reload
;;
kill)
function_kill
;;
status)
function_status
;;
*)
printf "Usage: /root/lnmp {start|stop|reload|restart|kill|status}\n"
esac
exit
Nginx和PHP-FPM的启动/重启脚本
一、Nginx启动脚本/etc/init.d/nginx
#!/bin/bash
#
# Startup script for Nginx - this script starts and stops the nginx daemon
#
# chkconfig: - 85 15
# description: Nginx is an HTTP(S) server, HTTP(S) reverse proxy and IMAP/POP3 proxy server
# processname: nginx
# config: /usr/local/nginx/conf/nginx.conf
# pidfile: /usr/local/nginx/logs/nginx.pid # Source function library.
. /etc/rc.d/init.d/functions # Source networking configuration.
. /etc/sysconfig/network # Check that networking is up.
[ "$NETWORKING" = "no" ] && exit 0 nginx="/usr/local/nginx/sbin/nginx"
prog=$(basename $nginx) NGINX_CONF_FILE="/usr/local/nginx/conf/nginx.conf" [ -f /etc/sysconfig/nginx ] && . /etc/sysconfig/nginx lockfile=/var/lock/subsys/nginx start() {
[ -x $nginx ] || exit 5
[ -f $NGINX_CONF_FILE ] || exit 6
echo -n $"Starting $prog: "
daemon $nginx -c $NGINX_CONF_FILE
retval=$?
echo
[ $retval -eq 0 ] && touch $lockfile
return $retval
} stop() {
echo -n $"Stopping $prog: "
killproc $prog -QUIT
retval=$?
echo
[ $retval -eq 0 ] && rm -f $lockfile
return $retval
} restart() {
configtest || return $?
stop
sleep 1
start
} reload() {
configtest || return $?
echo -n $"Reloading $prog: "
killproc $nginx -HUP
RETVAL=$?
echo
} force_reload() {
restart
} configtest() {
$nginx -t -c $NGINX_CONF_FILE
} rh_status() {
status $prog
} rh_status_q() {
rh_status >/dev/null 2>&1
} case "$1" in
start)
rh_status_q && exit 0
$1
;;
stop)
rh_status_q || exit 0
$1
;;
restart|configtest)
$1
;;
reload)
rh_status_q || exit 7
$1
;;
force-reload)
force_reload
;;
status)
rh_status
;;
condrestart|try-restart)
rh_status_q || exit 0
;;
*)
echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload|configtest}"
exit 2
esac
#==============================================================
编辑好后保存,执行以下命令
sudo chmod +x /etc/init.d/nginx
sudo /sbin/chkconfig nginx on
# 检查一下
sudo /sbin/chkconfig --list nginx
nginx 0:off 1:off 2:on 3:on 4:on 5:on 6:off
完成!可以使用以下命令管理Nginx了
service nginx start
service nginx stop
service nginx restart
service nginx reload
/etc/init.d/nginx start
/etc/init.d/nginx stop
/etc/init.d/nginx restart
/etc/init.d/nginx reload
二、PHP-FPM启动脚本/etc/init.d/php-fpm
#!/bin/bash
#
# Startup script for the PHP-FPM server.
#
# chkconfig: 345 85 15
# description: PHP is an HTML-embedded scripting language
# processname: php-fpm
# config: /usr/local/php/etc/php.ini # Source function library.
. /etc/rc.d/init.d/functions PHP_PATH=/usr/local
DESC="php-fpm daemon"
NAME=php-fpm
# php-fpm路径
DAEMON=$PHP_PATH/php/sbin/$NAME
# 配置文件路径
CONFIGFILE=$PHP_PATH/php/etc/php-fpm.conf
# PID文件路径(在php-fpm.conf设置)
PIDFILE=$PHP_PATH/php/var/run/$NAME.pid
SCRIPTNAME=/etc/init.d/$NAME # Gracefully exit if the package has been removed.
test -x $DAEMON || exit 0 rh_start() {
$DAEMON -y $CONFIGFILE || echo -n " already running"
} rh_stop() {
kill -QUIT `cat $PIDFILE` || echo -n " not running"
} rh_reload() {
kill -HUP `cat $PIDFILE` || echo -n " can't reload"
} case "$1" in
start)
echo -n "Starting $DESC: $NAME"
rh_start
echo "."
;;
stop)
echo -n "Stopping $DESC: $NAME"
rh_stop
echo "."
;;
reload)
echo -n "Reloading $DESC configuration..."
rh_reload
echo "reloaded."
;;
restart)
echo -n "Restarting $DESC: $NAME"
rh_stop
sleep 1
rh_start
echo "."
;;
*)
echo "Usage: $SCRIPTNAME {start|stop|restart|reload}" >&2
exit 3
;;
esac
exit 0
#=====================================================
编辑好后保存,执行以下命令
sudo chmod +x /etc/init.d/php-fpm
sudo /sbin/chkconfig php-fpm on
# 检查一下
sudo /sbin/chkconfig --list php-fpm
php-fpm 0:off 1:off 2:on 3:on 4:on 5:on 6:off 完成!可以使用以下命令管理php-fpm了 service php-fpm start
service php-fpm stop
service php-fpm restart
service php-fpm reload
/etc/init.d/php-fpm start
/etc/init.d/php-fpm stop
/etc/init.d/php-fpm restart
/etc/init.d/php-fpm reload
注意:里面的程序路径必须写对,这里用的都是默认的路径哟!而且对于php-fpm,默认的pid文件是没有设置的,要使用这个必须先在配置文件启用pid文件!~
二、mysql启动脚本/etc/init.d/mysql
添加服务,拷贝服务脚本到init.d目录,并设置开机启动
cp /usr/local/mysql/support-files/support-files/mysql.server /etc/init.d/mysql
chkconfig mysql on
service mysql start --启动MySQL
lnmp启动脚本的更多相关文章
- centos LNMP第一部分环境搭建 LAMP LNMP安装先后顺序 php安装 安装nginx 编写nginx启动脚本 懒汉模式 mv /usr/php/{p.conf.default,p.conf} php运行方式SAPI介绍 第二十三节课
centos LNMP第一部分环境搭建 LAMP安装先后顺序 LNMP安装先后顺序 php安装 安装nginx 编写nginx启动脚本 懒汉模式 mv /usr/local/php/{ ...
- LNMP 1.4 nginx启动脚本和配置文件
编写Nginx启动脚本,写入下面这段,授权755 vim /etc/init.d/nginx #!/bin/bash # chkconfig: - # description: http servic ...
- logstash服务启动脚本
logstash服务启动脚本 最近在弄ELK,发现logstash没有sysv类型的服务启动脚本,于是按照网上一个老外提供的模板自己进行修改 #添加用户 useradd logstash -M -s ...
- 改进uwsgi启动脚本,使其支持多个独立配置文件
最近在研究flask,在架设运行环境的时候犯了难.因为我想把每个独立的应用像NGINX处理多个网站那样,每个应用单独一个配置文件.而网上流传的uwsgi启动脚本都只支持单个配置文件.虽然有文章说可以把 ...
- linux nginx 启动脚本
linux nginx 启动脚本 [root@webtest76 ~]# vi /etc/init.d/nginx #!/bin/bash # nginx Startup script for the ...
- busybox rootfs 启动脚本分析(二)
上次分析了busybox的启动脚本,这次分析一下init.d中一些脚本的内容. 参考链接 http://www.cnblogs.com/helloworldtoyou/p/6169678.html h ...
- Tomcat启动脚本
记录一个比较好的tomcat启动脚本,截取<OneinStack>,修改如下两个参数即可用. 使用之前修改下面2个参数: #Location of JAVA_HOME (bin files ...
- Linux Runlevel 启动 脚本
Linux 操作系统自从开始启动至启动完毕需要经历几个不同的阶段,这几个阶段就叫做 Runlevel,同样,当Linux操作系统关闭时也要经历另外几个不同的 Runlevel,下面详细介绍一下 Run ...
- [Tomcat 源码分析系列] (二) : Tomcat 启动脚本-catalina.bat
概述 Tomcat 的三个最重要的启动脚本: startup.bat catalina.bat setclasspath.bat 上一篇咱们分析了 startup.bat 脚本 这一篇咱们来分析 ca ...
随机推荐
- [转]SQL Server 2012 的 T-SQL 新功能 – 新的数据分析函数(LEAD、LAG)
当您需要在 SQL Server 中利用 T-SQL 比较结果集的每一列跟前一列或后一列的差异时,在过去可能需要利用 CURSOR 搭配临时表变量,或是透过递归 CTE 来达到这个效果,如今 SQL ...
- C#写的工厂模式
program.cs file using System; using System.Collections.Generic; using System.Text; namespace Console ...
- BusyBox编译配置
1. 下载Busybox tar包,如busybox-1.23.0.tar.bz2. 官网:http://www.busybox.net/ 2. make distclean:清除原有配置 ma ...
- REST构架风格介绍:状态表述转移(转)
本文总结了一些REST风格构架设计的经验,介绍了REST架构的语言生态环境,状态表述转移,无状态服务器等特点,并通过举例Google来说明REST风格的味道. REST(Representationa ...
- Jquery 技术小结
前记: 现在项目中经常要用到JS去操作一些事,对整个团队开发来说,JS的书写规范和正确对开发具有较大的帮助.在一个团队中常常会发生JS书写的不统一性和游览器不兼容性等情况发生.我觉的最好的方法就是有一 ...
- MapReduce调度与执行原理系列文章
转自:http://blog.csdn.net/jaytalent?viewmode=contents MapReduce调度与执行原理系列文章 一.MapReduce调度与执行原理之作业提交 二.M ...
- get提交
<?php // 本类由系统自动生成,仅供测试用途 class IndexAction extends Action { //显示用户 public function index(){ $Use ...
- 关于Cocos2d-x中定时器的使用总结
1.定义 定时器在大部分游戏中是不可或缺的,即每隔一段时间,就要执行相应的刷新体函数,以更新游戏的画面.时间.进度.敌人的指令等等. cocos2dx为我们提供了定时器schedule相关的操作.其操 ...
- sendEvent()
sendEvent()(QObject *receiver, QEvent *event)可以将自己创建事件event发送给制定的receiver 例如, //创建按键事件 QKeyEvent key ...
- C++ 模板类友元之输出流操作符重载
几个关键点: 需要前置声明!--奇怪的是别人告诉我也可以不需要,但我这里不行! 友元函数的函数名后面的<>,必须要有. #include <stdio.h> #include ...