在Amazon Linux服务器启动时自动启动HHVM

当我的Amazon Linux(显然非常类似于Centos)EC2实例启动时,我无法启动hhvm。 当我重新启动服务器时,hhvm没有出现,错误日志中没有任何内容。 当我使用

sudo service hhvm start 

它出现就好了。 停止/重新启动也能正常工作。 当我尝试以ec2用户身份运行以下内容时

 service hhvm start 

我得到这些错误

 [ec2-user@ip-x ~]$ service hhvm start Starting hhvm: [Fri Jan 8 22:35:13 2016] [hphp] [2451:7fe8751566c0:0:000001] [] Cannot open log file: /var/log/hhvm/error.log [ OK ] touch: cannot touch '/var/lock/subsys/hhvm': Permission denied 

我删除了我的/var/log/hhvm/error.log并重新启动服务器。 错误日志中没有任何内容。

作为背景,我使用yum install nginx从amazon版本库安装hhvm。 我正在使用由yum安装的/etc/init.d/hhvm。

当hhvm在被root启动后运行时,我从ps -ef |得到这个 grep hhvm

 [root@ip-x init.d]# service hhvm restart Stopping hhvm: [ OK ] Starting hhvm: [ OK ] [root@ip-x init.d]# ps -ef | grep hhvm tim 2555 1 3 22:41 ? 00:00:00 hhvm --config /etc/hhvm/server.ini -d pid=/var/run/hhvm.pid --user tim --mode daemon root 2560 2458 0 22:42 pts/0 00:00:00 grep --color=auto hhvm 

nginx用它自己的configuration文件出现就好了。 hhvm包是hhvm-3.6.6-1.amzn1.x86_64。

有任何想法吗? 任何人都可以给我的信息? 我知道启动脚本作为root运行,但开始为用户指定 – 在我的情况下“tim”。 “tim”是根组的成员,我最近试图解决这个问题。

我参考这个问题 ,这是针对Ubuntu的。 我试过了,但没有奏效。

这是/etc/init.d/hhvm中的启动文件

似乎答案是

 /sbin/chkconfig --add hhvm 

对于CentOS 7,如果你的服务是SysV兼容的,那么(如你所发现的那样)使用chkconfig ,如果是本地systemd服务,那么使用systemctl enable