Sli*_*liq 6 php daemon hiphop hhvm
HipHop/HHVM可以作为守护进程运行(因此它在重新启动后会自动启动)
sudo /usr/bin/hhvm --mode daemon --config /etc/hhvm/server.hdf
Run Code Online (Sandbox Code Playgroud)
运行时,它完美地工作(这表明配置是可以的).但重新启动机器后,HHVM消失了,需要手动重启.以上行包括 这些配置已从HHVM创建者的官方教程中删除.经典服务语法sudo service hhvm start也可以很好地工作,但不会超过机器重启.
/var/log/hhvm/error.log中的HHVM错误日志在每次重新启动时记录此行:Unable to open pid file /var/run/hhvm/pid for write./etc/hhvm/server.hdf有PidFile = /var/run/hhvm/pid在第一线.由于默认情况下它附带HHVM,我不想更改它.我认为sudo就是问题所在.没有sudo HHVM将无法运行.Chmod 777'的pid文件并指向另一个空文件并没有解决问题.
将HHVM安装为守护进程的正确方法是什么?
Sin*_*ina 17
参考HHVM自己的包装材料,您需要运行hhvm作为守护进程.
所以,在/etc/init.d/hhvm创建一个文件并粘贴它:
#! /bin/sh
test -x /usr/bin/hhvm || exit 0
case "$1" in
start)
/usr/bin/hhvm --config /etc/hhvm/server.hdf --user www-data --mode daemon
;;
stop)
start-stop-daemon --stop --quiet --oknodo --pidfile /var/run/hhvm/pid
;;
reload|force-reload|restart|try-restart)
$0 stop
$0 start
;;
status)
echo "No status"
;;
*)
echo "Usage: /etc/init.d/hhvm {start|stop|restart|status}"
exit 1
esac
exit 0
Run Code Online (Sandbox Code Playgroud)
现在,我们需要创建/etc/hhvm/server.hdf文件.这是一个示例文件:https://gist.github.com/sinaa/9151973
对于/usr/share/hhvm/hdf/static.mime-types.hdf文件,请使用:https: //github.com/hhvm/packaging/blob/master/hhvm/deb/skeleton/usr/share/ HHVM/HDF/static.mime-types.hdf
最后,创建目录:
现在只需将hhvm作为服务启动:/etc/init.d/hhvm restart
如果您使用预先构建的版本,默认情况下HHVM会带有以上所有内容.你可以按如下方式安装它(来源):
# If this command is not found then do this: sudo apt-get install python-software-properties
sudo add-apt-repository ppa:mapnik/boost
sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0x5a16e7281be7a449
echo deb http://dl.hhvm.com/ubuntu precise main | sudo tee /etc/apt/sources.list.d/hhvm.list
sudo apt-get update
sudo apt-get install hhvm
Run Code Online (Sandbox Code Playgroud)
要使您的服务在引导时自动运行,请运行以下命令:
sudo update-rc.d hhvm defaults
Run Code Online (Sandbox Code Playgroud)