PHP-FPM 使用(含多站點多端口)


PHP-FPM 使用

PHP-FPM

是在 Linux 環境下用來管理調度 PHP 執行的調度器,源碼安裝時會自動安裝,PHP 安裝可參考Centos 下安裝 PHP (新)

查看版本

# php-fpm -v

啟動

# php-fpm -c php.ini -y php-fpm.conf

重啟

# php-fpm restart
或
# kill -USR2 `cat /usr/local/php/var/run/php-fpm.pid`

擴展

# /etc/init.d/php-fpm { start/stop/restart/reload... }
或
# /service php-fpm { start/stop/restart/reload... }

service 命令就是調用 /etc/init.d 目錄下的腳本文件,這種方式其實就是對 kill 方式的一種封裝

信號

信號 作用
INT 立即終止
QUIT 平滑終止
USR1 重新打開日志文件
USR2 重啟(平滑重載所有 worker 進程並重新載入配置和二進制模塊)

如何在同一台主機下運行多個 php 配置監聽多個端口

場景有 wwwroot/a.com 和 wwwroot/b.com,a.com 使用 9001 端口,b.com 使用 9002 端口。方法是

  • 建立多個配置文件
# cd /usr/local/php/etc/php-fpm.d
# cp www.conf a.com.conf
# vi a.com.conf

修改進程池名,重名的話后面載入的配置會覆蓋掉同名的
[www] 修改為 [a.com] 

修改使用的用戶名和組
user = nginx(與 nginx.con 相同)
group = nginx

修改偵聽
listen = 127.0.0.1:9001

按相同方式,再復制出一個 b.com.conf

  • 命令方式載入多個配置
# /etc/init.d/php-fpm restart --config-php /usr/local/php/etc/php-fpm.d/a.com.conf
# /etc/init.d/php-fpm restart --config-php /usr/local/php/etc/php-fpm.d/b.com.conf

查看一下
# ps aux|grep php-fpm

輸出
# root     24425  0.0  0.1 151364  4892 ?        Ss   14:14   0:00 php-fpm: master process (/usr/local/php/etc/php-fpm.conf)
# nginx    24426  0.0  0.1 151348  4448 ?        S    14:14   0:00 php-fpm: pool a.com
# nginx    24427  0.0  0.1 151348  4448 ?        S    14:14   0:00 php-fpm: pool a.com
# nginx    24428  0.0  0.1 151348  5380 ?        S    14:14   0:00 php-fpm: pool b.com
# nginx    24429  0.0  0.1 151348  5380 ?        S    14:14   0:00 php-fpm: pool b.com
# nginx    24430  0.0  0.1 151348  5380 ?        S    14:14   0:00 php-fpm: pool www
# nginx    24431  0.0  0.1 151348  5380 ?        S    14:14   0:00 php-fpm: pool www
# root     24433  0.0  0.0 112712   968 pts/0    S+   14:17   0:00 grep --color=auto php-fpm

可以看到 pool 后面有三個地址,a.com、b.com是自建的兩個配置,www 是 www.conf 默認的

參考

多個項目公用php的一個端口好還是一個項目使用一個php端口?
linux啟動多個php-fpm
PHP-FPM多實例配置及nginx對應配置


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM