如何在Docker中运行HHVM作为守护进程?

时间:2013-10-30 18:44:13

标签: docker hhvm

使用HHVM在Docker中运行时,

hhvm -m daemon不会进入后台。该过程开始但不会将我返回到命令提示符。 ctl^c杀死了这个过程。我的解决方法如下:

  1. 安装screen
  2. 运行exec >/dev/tty 2>/dev/tty </dev/tty
  3. 运行screen
  4. HHVM
  5. 运行screen

    知道为什么吗?

    感谢。

1 个答案:

答案 0 :(得分:4)

你可能已经解决了这个问题,因为你问了这个问题(或者问题已经在最新版本的hhvm中修复了),但是我会添加一些想法,因为我也是这样做的。

守护程序模式(hhvm -m daemon

目前似乎按预期工作(Ubuntu 12.04):

root@5ba718633f3a:~# hhvm -m daemon
Log file not specified under daemon mode.\n\n
root@5ba718633f3a:~# ps aux | grep hhvm
root       123  0.8  9.7 554212 36388 ?        Ss   21:33   0:00 hhvm -m daemon

分离服务器模式(hhvm -m server &

root@5ba718633f3a:~# hhvm -m server &
[1] 151
root@5ba718633f3a:~# ps aux | grep hhvm
root       151  2.3 11.5 631128 43212 pts/0    Sl   21:36   0:00 hhvm -m server

服务器模式w / supervisord

在你的supervisord配置中:

[program:hhvm]
directory=/var/www
command=hhvm -m server
autostart=true
autorestart=true
redirect_stderr=true

假设你使用主管,那个选项可能是最无痛的,除非你需要启动/停止a​​d hoc hhvm instancess。另外,我确定你知道,但是supervisord进程配置中的directory选项也可以通过hhvm CLI args复制(所以它不是基于CWD的),例如:

hhvm -m daemon -v Server.SourceRoot=/var/www

希望有所帮助。对不起,迟到的回复!