I'm having trouble getting hhvm to start when my Amazon Linux (which is apparently very similar to Centos) EC2 instance starts. When I reboot the server hhvm doesn't come up, and there's nothing in the error logs. When I use
sudo service hhvm start
it comes up just fine. Stop/restart works fine too. When I try running the following as ec2-user
service hhvm start
I get these errors
[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
I deleted my /var/log/hhvm/error.log and restarted the server. There was nothing in the error log.
As background, I installed hhvm using 'yum install nginx' from the amazon repository. I'm using the /etc/init.d/hhvm that was installed by yum.
When hhvm is running after being started by root I get this from 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 comes up just fine, with its own config file. hhvm package is hhvm-3.6.6-1.amzn1.x86_64.
Any ideas? Any information anyone can give me? I understand the startup script runs as root but starts as the user specified - in my case "tim". "tim" is a member of the root group, which I did recently to try to fix the issue.
I reference this question, which is for Ubuntu. I tried it, but it didn't work.
Here's the startup file in /etc/init.d/hhvm
Seems the answer is
For CentOS 7, if your service is SysV compatible then (as you discovered) use
chkconfig
, If it is a native systemd service then usesystemctl enable
.