开发者社区> 问答> 正文

分享一个php-fpm管理脚本,方便php-fpm的管理和维护

我们的lnmp视频教程中,详细介绍了如何手动编译php缓解。lnmp是目前运用最广泛的php运行环境之一,由于其并发性、轻量级、性能卓越,因此被广泛运用。
不过,我们视频教程(视频教程可在我个人签名中查看),php-fpm并没有一个好的管理方案,因此我们这里分享一个php-fpm的管理脚本。


只需要将此脚本放在/etc/init.d/下面,并给执行权限即可做到php-fpm开机运行。


你需要用到以下命令;
chmod +x /etc/init.d/php-fpm
加入开机启动命令
chkconfig --level 2345 php-fpm on


脚本(请根据您的编译环境参数酌情修改):
#!/bin/sh  
# DateTime: 2013-09-16
# chkconfig:   - 84 16  
# Source function library.  
. /etc/rc.d/init.d/functions  

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

# Check that networking is up.  
[ "$NETWORKING" = "no" ] && exit 0  

phpfpm="//usr/local/php5/sbin/php-fpm"  
prog=$(basename ${phpfpm})  

lockfile=/var/lock/subsys/phpfpm

start() {  
    [ -x ${phpfpm} ] || exit 5  
    echo -n $"Starting $prog: "  
    daemon ${phpfpm}
    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  
    start  
}  

reload() {  
    configtest || return $?  
    echo -n $"Reloading $prog: "  
    killproc ${phpfpm} -HUP  
    RETVAL=$?  
    echo  
}  

force_reload() {  
    restart  
}  

configtest() {  
  ${phpfpm} -t
}  

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  
        ;;  
    status)  
        rh_status  
        ;;  
    *)  
        echo $"Usage: $0 {start|stop|status|restart|reload|configtest}"  
        exit 2  
esac


说明:此脚本为转载,比较好用,来源于: 原文

展开
收起
玩站网 2016-06-05 14:45:38 5849 0
3 条回答
写回答
取消 提交回答
  • 阿里云论坛版主,QQ 1978638808
    运行这个脚本会有什么样的改变?
    2016-06-05 15:15:42
    赞同 展开评论 打赏
  • 引用第1楼ivmmff于2016-06-05 14:47发表的  :
    是不是

    reload 是热重启
    restart 是冷重启? [url=https://bbs.aliyun.com/job.php?action=topost&tid=284281&pid=794211][/url]

    reload 是重新加载配置文件
    restart = stop 然后 start
    2016-06-05 15:11:05
    赞同 展开评论 打赏
  • 解决方案工程师,负责为企业规划上云迁移方案和云上架构设计,在网站建设开发和云计算领域有多年经验,专注于Linux平台的系统维护以及应用部署。致力于以场景化的方式让云计算,用更加通俗易懂的方式让更多人体验云计算,让云端的计算更质朴的落地。
    是不是

    reload 是热重启
    restart 是冷重启?

    -------------------------

    回 2楼(云代维) 的帖子
    终于弄明白了。
    2016-06-05 14:47:44
    赞同 展开评论 打赏
问答分类:
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
PHP安全开发:从白帽角度做安全 立即下载
PHP 2017.北京 全球开发者大会——高可用的PHP 立即下载
复杂PHP系统性能瓶颈排查及优化 立即下载