PHP5.6中php-fpm的配置、啟動、關閉和重啟

suboysugar發表於2017-09-03

轉:http://blog.csdn.net/field_yang/article/details/52401994

 

該文主要講述:如何配置PHP-fpm、常見報錯解決方法和php-fpm的啟動、關閉和重啟。

LNMP環境中的nginx是不支援php的,需要通過fastcgi外掛來處理有關php的請求。而php需要php-fpm這個元件提供該功能。在php5.3.3以前的版本php-fpm是以一個補丁包的形式存在的,而php5.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.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檔案即可

[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配置完成,下面提供兩種控制方式

① PHP-FPM使用訊號控制:

INT, TERM 立刻終止

QUIT 平滑終止

USR1 重新開啟日誌檔案

USR2 平滑過載所有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]#

 

如何聯絡我:【萬里虎】www.bravetiger.cn
【QQ】3396726884 (諮詢問題100元起,幫助解決問題500元起)
【部落格】http://www.cnblogs.com/kenshinobiy/


相關文章