Ubuntu auf der virtuellen Maschine haben. Wenn Sie Apache ausführen, benötigen Sie zwei virtuelle Hosts an verschiedenen Ports, z. 69 und 100. (Auf 80 läuft nginx mit php-fpm + fastcgi). Verwenden der Portweiterleitung an das Hostsystem, um über einen Browser wie localhost zuzugreifen: 69 / oder localhost: 100 /
Konfig / 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>
Diese Ports wurden auch zu /etc/apache2/ports.conf hinzugefügt
PHP funktioniert nicht für den zweiten virtuellen Host. Wenn ich dasselbe hinzufüge <IfModule mod_fastcgi.c>
Direktive bekomme ich Fehler:
FastCgiExternalServer: Neudefinition der zuvor definierten Klasse "/ usr / lib / cgi-bin / php5-fcgi"
Was ist der richtige Weg, um es zu konfigurieren?
Antworten:
2 für die Antwort № 1Sie können nur einen von ihnen haben. Wie diese Person darauf hinweist: https://serverfault.com/questions/384715/fastcgi-error-with-apache2
Fügen Sie es in die allgemeine Konfiguration ein, nicht inSeite des virtuellen Hosts. Es scheint, als würden Sie versuchen, virtuelle Apache-Hosts so zu konfigurieren, wie Sie dies für nginx tun würden. Vielleicht fügen Sie es einfach vor der Zeile in der Datei apache.conf in sites_enabled ein
Normalerweise befindet sich dies in einer conf-fähigen Datei.