如何在Docker中将HHVM作为守护进程运行?
HHVM
在使用hhvm -m daemon
在Docker中运行时不会进入hhvm -m daemon
。 该过程开始,但不会返回到命令提示符。 ctl^c
杀死进程。 我的解决方法如下所示:
- 安装
screen
- 运行
exec >/dev/tty 2>/dev/tty </dev/tty
- 运行
screen
- 从
screen
运行HHVM
任何想法为什么?
谢谢。
自从你问这个问题以来,你可能已经解决了这个问题(或者在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
在你的supervisordconfiguration中:
[program:hhvm] directory=/var/www command=hhvm -m server autostart=true autorestart=true redirect_stderr=true
假设你使用pipe理员,那么这个选项可能是最无痛的,除非你需要开始/停止临时的hhvm instancess。 另外,我确定你知道,但是supervisord进程configuration中的directory
选项也可以通过hhvm CLI参数复制(所以它不是基于CWD的),例如:
hhvm -m daemon -v Server.SourceRoot=/var/www
希望有所帮助。 这么晚才回复很抱歉!