這篇還是講 mod_fastcgi,而非目前歸到 Apache 下管的 mod_fcgid。
PHP 5.3 已經內建 php-fpm,不過 ports 預設是不會裝上去的,所以首先先把 lang/php5 加上 php-fpm 支援。方法是 make config
後選擇 FPM。如果有裝 portconf 的人可以直接在 /usr/local/etc/ports.conf
裡加上:
lang/php5*: WITH_FPM=yes
這樣就會強制蓋過系統設定,強制把 php-fpm 裝進去。
接下來是設定的部份,首先是 php-fpm 的設定,這篇的文章只教預設值,會跑在 127.0.0.1:9000。所以只要在 /etc/rc.conf.local
內設定 php_fpm_enable="YES"
,然後跑 /usr/local/etc/rc.d/php-fpm start
就把 php-fpm 跑起來了。
然後是 apache 的設定,有好幾條要設:
LoadModule fastcgi_module libexec/apache22/mod_fastcgi.so
FastCgiConfig -maxClassProcesses 1
AddHandler php-fastcgi .php
Action php-fastcgi /php-fpm-handler.fcgi
FastCGIExternalServer /php-fpm-handler -host 127.0.0.1:9000
ScriptAlias /php-fpm-handler.fcgi /php-fpm-handler
我是跑 apache22-worker,上面的設定就可以了...
One thought on “FreeBSD 使用 FastCGI + PHP 5.3 提供的 php-fpm”