文档章节

NGINX、PHP-FPM开机自动启动

大道至簡
 大道至簡
发布于 2014/06/27 18:09
字数 453
阅读 10253
收藏 19


  NGINX SHELL脚本   放到/etc/init.d/下取名nginx

#!/bin/sh 
# 
# 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 
# chkconfig: 2345 90 91	
# description: nginx web server
# processname: nginx
# config: /opt/nginx/conf/nginx.conf
# pidfile: /opt/nginx/nginx.pid

# Source function library.
. /etc/init.d/functions

# Source networking configuration.
. /etc/sysconfig/network


if [ -f /etc/sysconfig/nginx ];then
. /etc/sysconfig/nginx
fi

# 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 
killall -9 nginx 
}

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) 
	$1 
	;; 
test) 
	configtest 
	;; 
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|test}" 
exit 2 
esac

  PHP-FPM SHELL脚本  放到/etc/init.d/下 取名php-fpm

#!/bin/bash
# php-fpm startup script for the php-fpm 
# php-fpm version:5.5.0-alpha6
# chkconfig: - 85 15
# description: php-fpm is very good
# processname: php-fpm
# pidfile: /var/run/php-fpm.pid
# config: /usr/local/php/etc/php-fpm.conf
  
php_command=/usr/local/php/sbin/php-fom
php_config=/usr/local/php/etc/php-fpm.conf
php_pid=/usr/local/php/var/run/php-fpm.pid
RETVAL=0
prog="php-fpm"
  
#start function
php_fpm_start() {
    /usr/local/php/sbin/php-fpm
}
  
start(){
    if [ -e $php_pid  ]
    then
    echo "php-fpm already start..."
    exit 1
    fi
    php_fpm_start
}
  
stop(){
    if [ -e $php_pid ]
    then
    parent_pid=`cat $php_pid`
    all_pid=`ps -ef | grep php-fpm | awk '{if('$parent_pid' == $3){print $2}}'`
    for pid in $all_pid
    do
            kill $pid
        done
        kill $parent_pid
    fi
    exit 1
}
  
restart(){
    stop
    start
}
  
# See how we were called.
case "$1" in
start)
        start
        ;;
stop)
        stop
        ;;
restart)
        stop
        start
        ;;
status)
        status $prog
        RETVAL=$?
        ;;
*)
        echo $"Usage: $prog {start|stop|restart|status}"
        exit 1
esac
exit $RETVAL

   后续处理:

##  添加执行权限
chmod a+x /etc/init.d/nginx   
chmod a+x /etc/init.d/php-fpm

##  加入服务
chkconfig --add nginx
chkconfig --add php-fpm

##   开机自启
chkconfig nginx on    
chkconfig php-fpm on

   
















© 著作权归作者所有

共有 人打赏支持
大道至簡

大道至簡

粉丝 45
博文 91
码字总数 24369
作品 0
广州
技术主管
私信 提问
Nginx PHP MySql 编译安装

以CentOS5.6为平台编译安装。确保系统已经安装gcc/gcc-c++编译器! 1.Nginx-1.0.14 2.PHP-5.3.10 3.MySql-5.1.61 安装相关依赖开发库: autoconf curl freetype gd jpegsrc libiconv libmcryp...

jarly
2012/04/19
0
0
用WordPress搭建个人博客网站

一直想做搭建一个个人的博客网站,近日终于完成,效果如下: 接下来就是慢慢完善它啦! 下面就介绍一下怎么搭建: 首先,你得有云服务器:https://cloud.tencent.com/act/free?fromSource=g...

Viljw
01/09
0
0
lemp搭建

第一步 – 安装Nginx、要添加CentOS 7 EPEL存储库 在安装ngin启动 Nginx,并设置为开机启动测试访问nginxNginx 默认的HTML根目录是:/usr/share/nginx/html为让web应用能读写HTML根目录下的目...

曽梅梅
01/04
0
0
Mac OSX系统下,使用homebrew搭建PHP开发环境

本开发环境,全部基于HomeBrew安装。 主要软件版本:PHP5.5.25,Nginx 1.8.0,MySQL5.6.25 近段时间工作环境切换到Mac,所以以OS X Yosemite(10.10.3)为例,记录一下在MAC系统下,全新安装...

岛主
2015/07/23
0
0
Nginx多站点虚拟主机实现单独启动停止php-fpm、单独控制权限设置

Nginx多站点虚拟主机实现单独启动停止php-fpm、单独控制权限设置 来源:osyunwei.com 作者:qihang01 发表于:2012-08-19 21:26  点击: 说明: 站点1:bbs.osyunwei.com 程序所在目录/data...

thinkyoung
2015/03/27
0
0

没有更多内容

加载失败,请刷新页面

加载更多

GIT 常用命令

Git图形化界面我用的还可以,但是命令就不太会了,索性和大家一起学习下Git命令的用法... 一般来说,日常使用只要记住下图6个命令,就可以了。但是熟练使用,恐怕要记住60~100个命令。 下面...

神勇小白鼠
3分钟前
0
0
可编程着色器---OpenGL渲染流水线

固定功能流水线 改变流水线结构 顶点着色器 片元着色器 几何着色器 曲面细分着色器

中国龙-扬科
5分钟前
0
0
qs.parse()、qs.stringify()、JSON.parse()、JSON.stringify()使用方法

qs.parse()、qs.stringify()、JSON.parse()、JSON.stringify()使用方法 1 qs.parse() 将url中的参数字符串转换成json对象。 var qs = require('qs');var url = 'method=query_sql_dataset_......

neumeng
18分钟前
0
0
需要注意的new Date 时区问题

(1)、Date中保存的是什么 Date对象里存的只是一个long型的变量,其值为自1970年1月1日0点至Date对象所记录时刻经过的毫秒数。调用Date对象getTime()方法就可以返回这个毫秒数。 (2)、时区...

为了美好的明天
24分钟前
0
0
java cache

##基本原理 ###核心内容 java cache API的5个核心接口:CachingProvider,CachingManager,Cache,Entry,ExpiryPolicy CachingProvider: 缓存提供者定义建立,配置,获得,管理,控制一个或者多...

zzx10
24分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部