Назад | Перейти на главную страницу

Автоматический запуск HHVM при загрузке сервера Amazon Linux

У меня проблемы с запуском 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.