在虛擬機上安裝Ubuntu。運行Apache並在不同的端口上需要2個虛擬主機,例如69和100.(在80上運行nginx和php-fpm + fastcgi)。 使用端口轉發到主機系統,從瀏覽器訪問像本地主機:69 /或本地主機:100/在Apache上配置兩個虛擬主機使用fastcgi
配置 的/ etc/apache2的/網站可用/默認:
<VirtualHost *:69>
ServerAdmin [email protected]
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 [email protected]
DocumentRoot /var/html
...
</VirtualHost>
添加這些端口以及到/etc/apache2/ports.conf
PHP不適用於第二臺虛擬主機。如果我添加相同的<IfModule mod_fastcgi.c>
指令,我會收到錯誤:
FastCgiExternalServer: redefinition of previously defined class "/usr/lib/cgi-bin/php5-fcgi"
什麼是正確的配置方式?
好的,你只能有一個,但是我們怎樣才能爲每個VHOST指定一個不同的套接字文件? FastCgiExternalServer/usr/lib/cgi-bin/php5-fcgi -idle-timeout 300 -socket /var/run/php5-fpm-extra.sock -pass-header Authorization'包含您可以看到的套接字。 –