An another FPM instance seems to already listen on/tmp/php-fcgi.sock
4541 ワード
この文書では、php-fpm、一般的なエラー解決方法、php-fpmの起動、停止、再起動をどのように構成するかについて説明します.
LNMP環境におけるnginxはphpをサポートしておらず、fastcgiプラグインによってphpに関する要求を処理する必要がある.phpはphp-fpmというコンポーネントがこの機能を提供する必要がある.php 5.3.3以前のバージョンphp-fpmはパッチパッケージとして存在し、php 5.3.3以降は、インストールをコンパイルするときに–enable-fpmを使用してモジュールをロードするだけで、別途インストールする必要はありません.
[root@localhost php-5.6.25]#/usr/local/php/sbin/php-fpm
[29-Aug-2016 17:36:05] ERROR: failed toopen configuration file ‘/usr/local/php/etc/php-fpm.conf’: No such file ordirectory (2)
[29-Aug-2016 17:36:05] ERROR: failed toload configuration file ‘/usr/local/php/etc/php-fpm.conf’
[29-Aug-2016 17:36:05] ERROR: FPMinitialization failed
php-fpmを起動すると、プロファイルが不足していることがわかりました/usr/local/php/etc/php-fpm.conf
php-fpmのプロファイルがphpインストール時に提供するプロファイルのテンプレート/usr/local/php/etc/php-fpmをコピーするだけです.conf.defaultは、対応するディレクトリの下にあります.ここでは、/usr/local/php/etc/または/usr/local/etc/に最終クラスをコピーし、php-fpmに名前を変更する2つの方法があります.conf
①
[root@localhost etc]# cd/usr/local/php/etc/
[root@localhost etc]# ls
pear.conf php-fpm.conf.default
[root@localhost etc]# cp/usr/local/php/etc/php-fpm.conf/usr/local/etc/php-fpm.conf
/usr/local/php/sbin/php-fpmによるFPM起動
[root@localhost etc]#/usr/local/php/sbin/php-fpm
②
[root@localhost etc]#cp php-fpm.conf.defaultphp-fpm.conf
[root@localhost etc]#/usr/local/php/sbin/php-fpm
これでphp-fpm構成は完了し、fpmはPHPとNginxの間に配置されたアプリケーションであるため、サービス起動の自己起動に構成される.
次にphp-fpmをサービス形式で起動するように構成します.
[root@localhost etc]# cd/usr/local/php-5.6.25/
[root@localhost php-5.6.25]# cp./sapi/fpm/init.d.php-fpm/etc/init.d/php-fpm
[root@localhost php-5.6.25]# ll/etc/init.d/php-fpm
-rw-r-r-1 root root 2354 8月3115:54/etc/init.d/php-fpm
[root@localhost php-5.6.25]# chmod a+x/etc/init.d/php-fpm
[root@localhost php-5.6.25]# ll/etc/init.d/php-fpm
-rwxr-xr-x 1 root root 2354 8月3115:54/etc/init.d/php-fpm
[root@localhost php-5.6.25]#/etc/init.d/php-fpmstart
Starting php-fpm [31-Aug-2016 15:56:00]ERROR: unable to bind listening socket for address ‘127.0.0.1:9000’: Addressalready in use (98)
[31-Aug-2016 15:56:00] ERROR: FPMinitialization failed
Failed
[root@localhost php-5.6.25]# netstat -tunlp |grep9000
tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN 4928/php-fpm
[root@localhost etc]#/etc/init.d/php-fpm stop
Gracefully shutting down php-fpm warning,no pid file found - php-fpm is not running ?
php-fpmサービスを閉じるとエラーが見つかり、pidファイルが不足しています.解決方法はプロファイルを編集し、pidファイルを有効にします.
[root@localhost etc]# vim php-fpm.conf
pid = run/php-fpm.pid
[root@localhost etc]# kill -INT
cat:/usr/local/php/var/run/php-fpm.pid:そのファイルやディレクトリはありません
[root@localhost etc]#/etc/init.d/php-fpm stop
Gracefully shutting down php-fpm warning,no pid file found - php-fpm is not running ?
サービスを停止しようとすると再びエラーが発生し、php-fpmを手動で確立する.pidファイルでOK
[root@localhost etc]# cd/usr/local/php/var/run/
[root@localhost run]# vim php-fpm.pid
[root@localhost run]# ls
php-fpm.pid
[root@localhost run]# service php-fpm stop
Gracefully shutting down php-fpm . done
[root@localhost run]# service php-fpm start
Starting php-fpm done
[root@localhost run]# netstat -tunlp |grep 9000
tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN 3008/php-fpm
[root@localhost run]# kill -INT
[root@localhost run]# netstat -tunlp |grep 9000
[root@localhost run]#/etc/init.d/php-fpm start
Startingphp-fpm done
chkconfigリストにサービスを追加し、起動を設定します.
[root@localhost run]# chkconfig –add php-fpm
[root@localhost run]# chkconfig php-fpm on
これでphp-fpm構成が完了し、以下に2つの制御方式を提供する
①PHP-FPM使用信号制御:
INT,TERMすぐ終了
QUITスムーズ終了
USR 1ログファイルを再オープン
USR 2すべてのworkerプロセスをスムーズに再ロードし、構成とバイナリモジュールを再ロード
開始
[root@localhost run]#/usr/local/php/sbin/php-fpm
オフ:
[root@localhost run]# kill -INT
再起動:
[root@localhost run]# kill -USR2
②
サービスモードせいぎょ
Usage:/etc/init.d/php-fpm{start|stop|force-quit|restart|reload|status}
[root@localhost run]# service php-fpm start
Starting php-fpm done
[root@localhost run]# service php-fpm stop
Gracefully shutting down php-fpm . done
[root@localhost run]#/etc/init.d/php-fpm restart
Gracefully shutting down php-fpm . done
Starting php-fpm done
[root@localhost run]#
LNMP環境におけるnginxはphpをサポートしておらず、fastcgiプラグインによってphpに関する要求を処理する必要がある.phpはphp-fpmというコンポーネントがこの機能を提供する必要がある.php 5.3.3以前のバージョンphp-fpmはパッチパッケージとして存在し、php 5.3.3以降は、インストールをコンパイルするときに–enable-fpmを使用してモジュールをロードするだけで、別途インストールする必要はありません.
[root@localhost php-5.6.25]#/usr/local/php/sbin/php-fpm
[29-Aug-2016 17:36:05] ERROR: failed toopen configuration file ‘/usr/local/php/etc/php-fpm.conf’: No such file ordirectory (2)
[29-Aug-2016 17:36:05] ERROR: failed toload configuration file ‘/usr/local/php/etc/php-fpm.conf’
[29-Aug-2016 17:36:05] ERROR: FPMinitialization failed
php-fpmを起動すると、プロファイルが不足していることがわかりました/usr/local/php/etc/php-fpm.conf
php-fpmのプロファイルがphpインストール時に提供するプロファイルのテンプレート/usr/local/php/etc/php-fpmをコピーするだけです.conf.defaultは、対応するディレクトリの下にあります.ここでは、/usr/local/php/etc/または/usr/local/etc/に最終クラスをコピーし、php-fpmに名前を変更する2つの方法があります.conf
①
[root@localhost etc]# cd/usr/local/php/etc/
[root@localhost etc]# ls
pear.conf php-fpm.conf.default
[root@localhost etc]# cp/usr/local/php/etc/php-fpm.conf/usr/local/etc/php-fpm.conf
/usr/local/php/sbin/php-fpmによるFPM起動
[root@localhost etc]#/usr/local/php/sbin/php-fpm
②
[root@localhost etc]#cp php-fpm.conf.defaultphp-fpm.conf
[root@localhost etc]#/usr/local/php/sbin/php-fpm
これでphp-fpm構成は完了し、fpmはPHPとNginxの間に配置されたアプリケーションであるため、サービス起動の自己起動に構成される.
次にphp-fpmをサービス形式で起動するように構成します.
[root@localhost etc]# cd/usr/local/php-5.6.25/
[root@localhost php-5.6.25]# cp./sapi/fpm/init.d.php-fpm/etc/init.d/php-fpm
[root@localhost php-5.6.25]# ll/etc/init.d/php-fpm
-rw-r-r-1 root root 2354 8月3115:54/etc/init.d/php-fpm
[root@localhost php-5.6.25]# chmod a+x/etc/init.d/php-fpm
[root@localhost php-5.6.25]# ll/etc/init.d/php-fpm
-rwxr-xr-x 1 root root 2354 8月3115:54/etc/init.d/php-fpm
[root@localhost php-5.6.25]#/etc/init.d/php-fpmstart
Starting php-fpm [31-Aug-2016 15:56:00]ERROR: unable to bind listening socket for address ‘127.0.0.1:9000’: Addressalready in use (98)
[31-Aug-2016 15:56:00] ERROR: FPMinitialization failed
Failed
[root@localhost php-5.6.25]# netstat -tunlp |grep9000
tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN 4928/php-fpm
[root@localhost etc]#/etc/init.d/php-fpm stop
Gracefully shutting down php-fpm warning,no pid file found - php-fpm is not running ?
php-fpmサービスを閉じるとエラーが見つかり、pidファイルが不足しています.解決方法はプロファイルを編集し、pidファイルを有効にします.
[root@localhost etc]# vim php-fpm.conf
pid = run/php-fpm.pid
[root@localhost etc]# kill -INT
cat/usr/local/php/var/run/php-fpm.pid
cat:/usr/local/php/var/run/php-fpm.pid:そのファイルやディレクトリはありません
[root@localhost etc]#/etc/init.d/php-fpm stop
Gracefully shutting down php-fpm warning,no pid file found - php-fpm is not running ?
サービスを停止しようとすると再びエラーが発生し、php-fpmを手動で確立する.pidファイルでOK
[root@localhost etc]# cd/usr/local/php/var/run/
[root@localhost run]# vim php-fpm.pid
[root@localhost run]# ls
php-fpm.pid
[root@localhost run]# service php-fpm stop
Gracefully shutting down php-fpm . done
[root@localhost run]# service php-fpm start
Starting php-fpm done
[root@localhost run]# netstat -tunlp |grep 9000
tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN 3008/php-fpm
[root@localhost run]# kill -INT
cat /usr/local/php/var/run/php-fpm.pid
[root@localhost run]# netstat -tunlp |grep 9000
[root@localhost run]#/etc/init.d/php-fpm start
Startingphp-fpm done
chkconfigリストにサービスを追加し、起動を設定します.
[root@localhost run]# chkconfig –add php-fpm
[root@localhost run]# chkconfig php-fpm on
これでphp-fpm構成が完了し、以下に2つの制御方式を提供する
①PHP-FPM使用信号制御:
INT,TERMすぐ終了
QUITスムーズ終了
USR 1ログファイルを再オープン
USR 2すべてのworkerプロセスをスムーズに再ロードし、構成とバイナリモジュールを再ロード
開始
[root@localhost run]#/usr/local/php/sbin/php-fpm
オフ:
[root@localhost run]# kill -INT
cat/usr/local/php/var/run/php-fpm.pid
再起動:
[root@localhost run]# kill -USR2
cat/usr/local/php/var/run/php-fpm.pid
②
サービスモードせいぎょ
Usage:/etc/init.d/php-fpm{start|stop|force-quit|restart|reload|status}
[root@localhost run]# service php-fpm start
Starting php-fpm done
[root@localhost run]# service php-fpm stop
Gracefully shutting down php-fpm . done
[root@localhost run]#/etc/init.d/php-fpm restart
Gracefully shutting down php-fpm . done
Starting php-fpm done
[root@localhost run]#