我正在使用 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 上的脚本。