Наличие Ubuntu на виртуальной машине. Запуск Apache и наличие двух виртуальных хостов на разных портах, например. 69 и 100. (На 80 работает nginx с php-fpm + fastcgi). Использования переадресации портов для размещения системы, чтобы получить доступ из браузера, как локальный хост: 69/или локальные: 100/Настроить оба vhosts на Apache использовать fastcgi
Config /и т.д./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>
Добавлено те порты, а также to /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 Авторизация' содержит сокет, как вы можете видеть. –