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 ...
随机推荐
- FreeRTOS 动态内存管理
以下转载自安富莱电子: http://forum.armfly.com/forum.php 本章节为大家讲解 FreeRTOS 动态内存管理,动态内存管理是 FreeRTOS 非常重要的一项功能,前面 ...
- 一款基于jquery和css3的响应式二级导航菜单
今天给大家分享一款基于jquery和css3的响应式二级导航菜单,这款导航是传统的基于顶部,鼠标经过的时候显示二级导航,还采用了当前流行的响应式设计.效果图如下: 在线预览 源码下载 实现的代码. ...
- linux查找系统中占用磁盘空间最大的文件
Q:下午有一客户磁盘空间占用很大,使用df查看磁盘剩余空间很小了,客户想知道是哪些文件占满了文件. Q1:在Linux下如何查看系统占用磁盘空间最大的文件? Q2:在Linux下如何让文件夹下的文件让 ...
- http://blog.csdn.net/ce123_zhouwei/article/details/7364294
http://blog.csdn.net/ce123_zhouwei/article/details/7364294
- MySql 生成日期随机数
select DATE_ADD(sd, INTERVAL FLOOR(1+ RAND() * ((ABS(UNIX_TIMESTAMP(ed) - UNIX_TIMESTAMP(sd))) - 1)) ...
- MDL---Material Design Lite框架推荐
INTRO material design相比不会陌生, 现在的移动端基本遵循了这个设计规范, 微软退出过一个残次品universal design(花了半个月时间赶出来的规范)也是借鉴了MD的思想, ...
- easyui中datagrid用法,加载table数据与标题
加载标题写法: 多行标题:columns: [[ columns: [[ { field: 'itemid', title: 'Item ID', rows ...
- [mysql] MySQL Order By Rand()效率【转载】
最近由于需要大概研究了一下MYSQL的随机抽取实现方法.举个例子,要从tablename表中随机提取一条记录,大家一般的写法就是:SELECT * FROM tablename ORDER BY RA ...
- python中的高阶函数
高阶函数英文叫Higher-order function.什么是高阶函数?我们以实际代码为例子,一步一步深入概念. 变量可以指向函数 以Python内置的求绝对值的函数abs()为例,调用该函数用以下 ...
- vs2008 x64编译环境 忽略了 #ifdef WIN32
解决方法: 右键项目属性,在预处理器中添加WIN32即可 效果: