【发布时间】:2014-02-23 23:59:14
【问题描述】:
在虚拟机上安装 Ubuntu。 运行 Apache 并且需要 2 个不同端口上的虚拟主机,例如69 和 100。(在 80 上使用 php-fpm + fastcgi 运行 nginx)。 使用端口转发到主机系统从浏览器访问,如 localhost:69/ 或 localhost:100/
配置 /etc/apache2/sites-available/default :
<VirtualHost *:69>
ServerAdmin webmaster@localhost
DocumentRoot /var/www
...
<IfModule mod_fastcgi.c>
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 -socket /var/run/php5-fpm.sock -pass-header Authorization
</IfModule>
</VirtualHost>
<VirtualHost *:100>
ServerAdmin webmaster@localhost
DocumentRoot /var/html
...
</VirtualHost>
将这些端口也添加到 /etc/apache2/ports.conf
PHP 不适用于第二个虚拟主机。如果我添加相同的 <IfModule mod_fastcgi.c> 指令,我会收到错误:
FastCgiExternalServer:重新定义之前定义的类 "/usr/lib/cgi-bin/php5-fcgi"
什么是正确的配置方法?
【问题讨论】:
标签: php apache virtualbox fastcgi vhosts