我正在使用 proxy_fcgid 設定 Apache,以將 php 請求傳遞到遠端電腦上的專用 php-fpm 實例。
Apache-Box 上的設定:
<FilesMatch \.php$>
# SetHandler "proxy:unix:/var/run/php56-fpm/php-fpm.sock|fcgi://localhost"
SetHandler "proxy:fcgi://xyz:9005#"
</FilesMatch>
<Proxy fcgi://localhost>
ProxyFCGISetEnvIf "true" PATH_INFO "%{reqenv:SCRIPT_NAME}"
ProxySet connectiontimeout=5 timeout=240
</Proxy>
RewriteCond %{REQUEST_FILENAME} \.php$
RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_URI} !-f
RewriteRule (.*) - [H=text/html]
php-fpm.conf 的設定基本上保留為預設值,但運行 php-fpm 的機器上的所有請求 404 和
ProxyPass fcgi://127.0.0.1:9000/var/www/default/wwwroot/$1
還需要本機檔案系統上的完整路徑,這讓我對如何執行 Apache-Box 上的腳本一無所知。