【发布时间】:2013-12-27 06:56:19
【问题描述】:
我需要一个测试服务器,它可以运行一些使用 Nginx 的站点和一些使用 Apache2 的站点(例如使用 .htaccess 文件)。
是否可以为同时运行的 Nginx 和 Apache2 使用单个 PHP5-FPM 池(具有相同的 PHP.ini)?
【问题讨论】:
-
你需要配置 apache 以使用 php5-fpm 而不是 mod_php,如果你环顾四周你会发现教程
我需要一个测试服务器,它可以运行一些使用 Nginx 的站点和一些使用 Apache2 的站点(例如使用 .htaccess 文件)。
是否可以为同时运行的 Nginx 和 Apache2 使用单个 PHP5-FPM 池(具有相同的 PHP.ini)?
【问题讨论】:
没有得到答案,但我能够确认这可以正常工作,并且 Apache 和 Nginx 可以同时使用同一个池。
设置 Apache2 使用 php5-fpm(由 Mohammad AbuShady 建议)和 these instructions,然后安装 nginx 并添加相关的“fastcgi_pass”参数。
示例 apache2 配置:
<IfModule mod_fastcgi.c>
FastCgiIpcDir /var/lib/apache2/fastcgi
AddHandler php5-fcgi .php
Action php5-fcgi /php5-fcgi
Alias /php5-fcgi /usr/lib/cgi-bin/php5-fcgi
FastCgiExternalServer /usr/lib/cgi-bin/php5-fcgi -host 127.0.0.1:9000 -pass-header Authorization
</IfModule>
示例 nginx 配置:
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_read_timeout 120;
}
php5-fpm 配置示例:
listen = 127.0.0.1:9000
另外,别忘了您需要将 Apache2 和 Nginx 绑定到不同的端口或不同的 IP 地址。
【讨论】: