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つにコマンドを追加する必要がありますか?
ありがとう。
したがって、起動時に開始するように設定します。
chkconfig php-fpm on
私はちょうど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
を実行する必要はありませんでした。そのコマンドを完全に忘れていました。
CentOS 7以降では、systemctlを介してサービスを有効にする必要があります。
systemctl enable php-fpm
あなたはそれが後で実行されているかどうかを確認することができます:
systemctl status php-fpm