Supervisor管理hhvm进程

    hhvm速度很快,但由于与网站程序兼容性或hhvm本身不成熟,跑一段时间后会出现hhvm宕掉,使前台页面出现502 bad gateway。为了防止hhvm进程自动宕掉,我们可以用Supervisor来管理hhvm进程,它会在hhvm宕掉后自动启动hhvm进程。

    Supervisor已经加到《lnmp一键安装包》和《OneinStack》,欢迎测试。

    HHVM相关教程请参考如下:

    CentOS 7下hhvm Nginx环境搭建:linuxeye.com/402.html

    CentOS 6下hhvm Nginx环境搭建:linuxeye.com/396.html

    Supervisor简介

    Supervisor是一个Python开发的client/server系统,可以管理和监控*nix上面的进程。

    部件:Supervisor有不同的部件组成,部件分别负责不同的功能,对进程进行监控和管理。

    supervisord:Supervisor的server部分称为supervisord。主要负责管理子进程,响应客户端的命令,log子进程的输出,创建和处理不同的事件

    supervisorctl:Supervisor的命令行客户端。它可以与不同的supervisord进程进行通信,获取子进程信息,管理子进程

    Web Server:Supervisor的web server,用户可以通过web对子进程进行监控,管理等等,作用与supervisorctl一致。

    XML-RPC inteface:XML-RPC接口,提供XML-RPC服务来对子进程进行管理,监控

    安装Supervisor

    安装supervisor很简单,通过easy_install就可以安装

    1. yum -y install python-setuptools
    2. easy_install supervisor

    安装完成之后,就可以用echo_supervisord_conf命令来生成配置文件

    1. echo_supervisord_conf > /etc/supervisord.conf

    配置supervisor管理hhvm进程

    vi /etc/supervisord.conf

    pidfile=/tmp/supervisord.pid 改成pidfile=/var/run/supervisord.pid

    #并在/etc/supervisord.conf后面追加如下内容:

    1. [program:hhvm]
    2. command=/usr/bin/hhvm --mode server --user www --config /etc/hhvm/server.ini --config /etc/hhvm/php.ini --config /etc/hhvm/config.hdf
    3. numprocs=1 ; number of processes copies to start (def 1)
    4. directory=/tmp ; directory to cwd to before exec (def no cwd)
    5. autostart=true ; start at supervisord start (default: true)
    6. autorestart=unexpected ; whether/when to restart (default: unexpected)
    7. stopwaitsecs=10 ; max num secs to wait b4 SIGKILL (default 10)

    supervisor开机脚本

    1. wget https://github.com/Supervisor/initscripts/raw/master/redhat-init-mingalevme
    2. /bin/mv redhat-init-mingalevme /etc/init.d/supervisord
    3. chmod +x /etc/init.d/supervisord
    4. chkconfig supervisord on  #开机自启动
    5. service supervisord restart  #启动

    测试Supervistor

    Supervisor管理hhvm进程
    Thu Jan 15 14:03:54 CST 2015
    • 本文由 发表于 2015-01-15
    • 转载请务必保留本文链接:https://linuxeye.com/408.html
    CentOS 7下hhvm Nginx环境搭建 Linux

    CentOS 7下hhvm Nginx环境搭建

    CentOS 7(hhvm只支持64位)下hhvm Nginx环境搭建,前面有介绍《CentOS 6下hhvm Nginx环境搭建》,到目前为止CentOS 7下还没有hhvm rpm安装包,因此采用...
    CentOS 6下hhvm Nginx环境搭建 Linux

    CentOS 6下hhvm Nginx环境搭建

    HHVM(HipHop Virtual Machine)会将PHP代码转换成高级别的字节码(通常称为中间语言)。然后在运行时通过即时(JIT)编译器将这些字节码转换为x64的机器码。在这些方面,HHV...
    Consul集群配置 Linux

    Consul集群配置

    consul原理 上图是官网提供的一个事例系统图,图中的Server是consul服务端高可用集群,Client是consul客户端。consul客户端不保存数据,客户端将接收到的请求转发给响应的Se...
    匿名

    发表评论

    匿名网友