全球主机交流论坛

标题: Supervisor监控HHVM进程,状态报 FATAL怎么办? [打印本页]

作者: Miss    时间: 2014-11-11 13:28
标题: Supervisor监控HHVM进程,状态报 FATAL怎么办?


由于使用HHVM经常崩溃,原来是设置了计划任务让每小时重启一次。

最近有朋友提醒了使用 Supervisor监控HHVM进程 死掉就重启。。。


于是配置了一下。Supervisor的配置HHVM重启的配置文件如下:

  1. [program:hhvm]

  2. command = service hhvm restart

  3. autostart=true

  4. autorestart=true

  5. startsecs=3
复制代码


但是,在执行
# supervisorctl
hhvm                             FATAL     Exited too quickly (process log may have details)
#supervisor> status
hhvm                             FATAL     Exited too quickly (process log may have details)
supervisor> hhvm                             FATAL     Exited too quickly (process log may have details) FATAL

报错啊。无法守护重启啊。。。

有知道的朋友告诉下 谢谢
作者: h0stl0c    时间: 2014-11-11 13:32
一个bash能解决的,为啥还要supervisor呢?
作者: wmfy808    时间: 2014-11-11 13:32
权限不足吧。
作者: Miss    时间: 2014-11-11 13:35
h0stl0c 发表于 2014-11-11 13:32
一个bash能解决的,为啥还要supervisor呢?

额,求个bash  //ths
作者: Miss    时间: 2014-11-11 13:39
wmfy808 发表于 2014-11-11 13:32
权限不足吧。

应该不是吧。Supervisor是运行在root用户下的
# ps aux | grep Supervisor
root      4597  0.0  0.0 103244   868 pts/0    S+   13:39   0:00 grep Supervisor
作者: caaol    时间: 2014-11-11 13:47
是看了我的提醒吗?
[program:hhvm]
command=/usr/bin/hhvm –mode server –config /etc/hhvm/config.hdf –config /etc/hhvm/php.ini -vServer.Type=fastcgi -vServer.Port=9000 ; the program (relative uses PATH, can take args)
;process_name=%(program_name)s ; process_name expr (default %(program_name)s)
numprocs=1 ; number of processes copies to start (def 1)
directory=/tmp ; directory to cwd to before exec (def no cwd)
autostart=true ; start at supervisord start (default: true)
autorestart=unexpected ; whether/when to restart (default: unexpected)
stopwaitsecs=10 ; max num secs to wait b4 SIGKILL (default 10)
user=nginx ; 你启动HHVM的用户名

这我的配置,hhvm不能工作在daemon模式
作者: Miss    时间: 2014-11-11 13:52
caaol 发表于 2014-11-11 13:47
是看了我的提醒吗?

command=/usr/bin/hhvm –mode server –config /etc/hhvm/config.hdf –config /etc/ ...

嗯,是看了你的提醒才准备折腾的。
user=www ; 你启动HHVM的用户名

查取进程
/////
ps aux | grep hhvm
www       5081  4.6  7.7 873204 147500 ?       Ssl  13:51   0:04 /usr/bin/hhvm --mode daemon --user www --config /etc/hhvm/server.ini --config /etc/hhvm/php.ini --config /etc/hhvm/config.hdf
root      5113  0.0  0.0 103244   864 pts/0    S+   13:53   0:00 grep hhvm


但是,还是不行。也重新加载了配置文件

一旦 killall hhvm后 无法自动重启

作者: caaol    时间: 2014-11-11 13:53
本帖最后由 caaol 于 2014-11-11 13:55 编辑

mode daemon
作者: Miss    时间: 2014-11-11 13:55
caaol 发表于 2014-11-11 13:53
mode daemon

嗯,看到了。怎么解决知道吗?
作者: caaol    时间: 2014-11-11 14:00
mode server
作者: Miss    时间: 2014-11-11 14:02
caaol 发表于 2014-11-11 14:00
mode server

具体怎么弄、?对这个一知半解~!!感谢
作者: caaol    时间: 2014-11-11 14:17
你用的是什么?centos?
作者: Miss    时间: 2014-11-11 14:25
caaol 发表于 2014-11-11 14:17
你用的是什么?centos?

是的 我用的centos6 64
作者: caaol    时间: 2014-11-11 14:36
看下你的/etc/init.d/hhvm怎么设置的,先复制一份,把里面的这个文件删掉,然后把启动HHVM的那条命令加到command=后面,我的是command=/usr/bin/hhvm –mode server –config /etc/hhvm/config.hdf –config /etc/hhvm/php.ini -vServer.Type=fastcgi -vServer.Port=9000
作者: Miss    时间: 2014-11-11 14:44
caaol 发表于 2014-11-11 14:36
看下你的/etc/init.d/hhvm怎么设置的,先复制一份,把里面的这个文件删掉,然后把启动HHVM的那条命令加到co ...

算了 不折腾了。。。哎。。。
作者: 楼下节操掉满地    时间: 2014-11-11 16:27
用到supervisor就别用service了,  就好比supervisor是个间谍, 要跟踪hhvm这哥们儿, service只是个负责接送hhvm出入的第三者, 去尾_行service是没什么用的.
作者: 爱国者捣蛋    时间: 2014-11-11 17:30

我节操掉满地

作者: _jerryjee    时间: 2014-11-11 18:48
亲,这里有自动检测进程重启的方法:http://www.jjhr.net/2014/10/debian7-x84_64-install-nginx-hhvm-fastcgi-mode-environment-configuration-502-solutions/
作者: 月の天使    时间: 2014-11-11 19:16
一个.sh文件每分钟监测一次状态,异常自动重启,我这30天不出错。
作者: Miss    时间: 2014-11-12 08:05
月の天使 发表于 2014-11-11 19:16
一个.sh文件每分钟监测一次状态,异常自动重启,我这30天不出错。

把SH文件交出来。。。
作者: 月の天使    时间: 2014-11-12 12:47
Miss 发表于 2014-11-12 08:05
把SH文件交出来。。。
  1. #!/bin/bash
  2. CheckUrl="http://x.x.x.x"
  3. STATUS_CODE=`curl -o /dev/null -m 10 --connect-timeout 10 -s -w %{http_code} $CheckUrl`
  4. #echo "$CheckURL Status Code:t$STATUS_CODE"
  5. if [ "$STATUS_CODE" != "200" ]; then
  6. service hhvm restart
  7. fi
复制代码

自己写的。第二行写用了HHVM的php文件地址,然后加到计划任务中,如果代码不是200一般都是HHVM出错,自动重启即可。




欢迎光临 全球主机交流论坛 (https://fd.vvwvv.eu.org/) Powered by Discuz! X3.4