web-dev-qa-db-ja.com

PHP-FPMが再起動後に自動的に起動しない

PHP-FPMとNginxを実行していますが、何らかの理由でサーバーを再起動する必要がある場合があります。サーバーが再び実行されると、nginxサービスは自動的に起動しますが、PHP-FPMは起動しません。これは、再起動直後にSudo /etc/init.d/php-fpm restartコマンドを実行して結果を取得すると確認できます。

$ Sudo /etc/init.d/php-fpm restart
Stopping php-fpm:                                          [FAILED]
Starting php-fpm:                                          [  OK  ]

これは予想される動作ですか? PHP-FPMを自動的に起動させる最良の方法は何ですか?構成オプションはどこにありますか、またはLinux起動スクリプトの1つにコマンドを追加する必要がありますか?

ありがとう。

15
SteveEdson

したがって、起動時に開始するように設定します。

chkconfig php-fpm on
27
Michael Hampton

私はちょうどUbuntu 16.04でこの非常に問題に遭遇しました。問題にぶつかったGoogleの将来のユーザーのためにここに私の答えを残します。 chkconfigは主にCentOSに固有であるため、Ubuntuには存在しません。どうやら、カスタムビルドされたPHP(php-fpm SAPI)を取得するには、Ubuntu 16.04(以前はUpstart)の新機能であるsystemdの下で起動時に開始します。 init.dスクリプトを/etc/init.d/にドロップするだけでなく、システムに登録する必要があります。スクリプトを登録するには、次のコマンドを実行しました。

update-rc.d php-fpm defaults

rebootとそれに続くps auxは、php-fpmが実際に起動時に開始されていることを確認しました。 /etc/init.d/.depend.startにも追加されました。

その他の考え:Ubuntu Upstartは十分に優れていたので、init.dスクリプトを配置した後でupdate-rc.dを実行する必要はありませんでした。そのコマンドを完全に忘れていました。

4
CubicleSoft

CentOS 7以降では、systemctlを介してサービスを有効にする必要があります。

systemctl enable php-fpm

あなたはそれが後で実行されているかどうかを確認することができます:

systemctl status php-fpm
0
Manuel