У меня проблемы с запуском hhvm при запуске инстанса EC2 Amazon Linux (который, по-видимому, очень похож на Centos). Когда я перезагружаю сервер, 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 и перезапустил сервер. В журнале ошибок ничего не было.
В качестве фона я установил hhvm, используя yum install nginx из репозитория Amazon. Я использую /etc/init.d/hhvm, установленный yum.
Когда 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 отлично подходит, со своим собственным файлом конфигурации. Пакет 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
.