Amazon Linux(Centosと非常によく似ている)EC2インスタンスの起動時にhhvmを起動するのに問題があります。サーバーを再起動すると、hhvmが起動せず、エラーログに何も表示されません。使うとき
Sudo service hhvm start
それはうまくいきます。停止/再起動も正常に機能します。 ec2-userとして以下を実行しようとすると
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を削除し、サーバーを再起動しました。エラーログには何もありませんでした。
背景として、Amazonリポジトリの「yuminstallnginx」を使用してhhvmをインストールしました。 yumによってインストールされた/etc/init.d/hhvmを使用しています。
ルートによって開始された後にhhvmが実行されている場合、これは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
を使用します。