2012-04-15 11 views
0

Ich habe eine Reihe von Websites, die gut mit nginx + php-fastcgi funktionieren und ich habe keine Beschwerden dort! Die einzige Sache, die nicht funktioniert, ist eine PHP-Galerieanwendung namens Gallery3. Leider muss ich Apache mit dieser Anwendung verwenden. Das Problem, das ich habe, ist wie folgt:Apache + Nginx reverse proxy nicht standardmäßig index.php

gallery.wfto.cc - funktioniert nicht (lädt eine unbenannte Datei den PHP-Code von index.php enthält, weil es nicht analysiert zu werden)

Galerie. wfto.cc/ - funktioniert nicht (gleiche)

gallery.wfto.cc/index.php - funktioniert nicht (gleiche)

gallery.wfto.cc/index.php/- Werke.

gallery.wfto.cc:9001 (alle Varianten) - Works.

Ich habe keine Ahnung was los ist. Ich habe die meisten meiner Konfigurationen unten aufgeführt. Die /etc/nginx/conf.d/proxy.conf ist eine ... allgemeine Proxy-Konfiguration, nichts besonderes.

##NGINX CONFIG## 
server { 
    listen 80; ## listen for ipv4 
    listen [::]:80 default ipv6only=on; ## listen for ipv6 

    root /var/www/vhosts/wfto.cc/subdomains/gallery; 

    server_name gallery.wfto.cc; 
    access_log /var/log/nginx/gallery.wfto.cc.access.log; 

    location/{ 
     proxy_pass http://127.0.0.1:9001; 
     include /etc/nginx/conf.d/proxy.conf; 
    } 
} 
## APACHE CONFIG ## 
<VirtualHost *:9001> 
     ServerAdmin [email protected] 

     DocumentRoot /var/www/vhosts/wfto.cc/subdomains/gallery 
     <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 -host 127.0.0.1:9000 -pass-header Authorization 
     </IfModule> 
     <Directory /> 
       Options FollowSymLinks 
       AllowOverride None 
     </Directory> 
     <Directory /var/www/vhosts/wfto.cc/subdomains/gallery/> 
       Options Indexes FollowSymLinks MultiViews 
       AllowOverride None 
       Order allow,deny 
       allow from all 
     </Directory> 

     ErrorLog ${APACHE_LOG_DIR}/error.log 

     # Possible values include: debug, info, notice, warn, error, crit, 
     # alert, emerg. 
     LogLevel warn 

     CustomLog ${APACHE_LOG_DIR}/access.log combined 

</VirtualHost> 
+0

Sind Sie sicher, dass der nginx-Servereintrag tatsächlich verwendet wird und nicht versehentlich ein anderer (z. B. der Domänenname in der URL falsch geschrieben wurde)? Überprüfen Sie das Zugriffsprotokoll, um sicherzugehen. Einige etwas dumme Dinge zu überprüfen: Starten Sie nginx neu und stellen Sie sicher, dass kein laufender Prozess nach dem Stoppen aktiv ist. Ändern Sie "root" in ein leeres Verzeichnis (wenn es alles an Apache weitergibt, benötigt nginx keinen Zugriff auf den Inhalt). –

+0

Ich änderte den Stamm, um auf ein Null-Verzeichnis (leeres Verzeichnis) zu zeigen, aber das ändert nichts. Dieser Serverblock ist der einzige, der den Datenverkehr in dieser Subdomäne abfängt. – meinemitternacht

+0

Nachdem Sie in ein leeres Verzeichnis gewechselt haben, haben Sie das Zugriffsprotokoll von Apache überprüft, ob Ihr Test tatsächlich überhaupt zu Apache gelangt? Wenn Sie immer noch "das gleiche Ergebnis" erhalten (ich gehe davon aus, dass der Inhalt von index.php heruntergeladen wird), könnte dies auch bedeuten, dass Ihr Browser einfach ein zwischengespeichertes Ergebnis zurückgibt. –

Antwort

0

Ich weiß nicht, an welchem ​​Punkt die Dinge zu arbeiten begann, aber wenn Sie Serverkonfigurationen sind Ändern sicherstellen, dass Sie klar den Cache des Browsers vollständig.

0

Fügen Sie diese in Apache conf:

<IfModule dir_module> 
    DirectoryIndex index.php 
</IfModule> 
+0

Funktioniert immer noch nicht. Ich glaube nicht, dass es mit DirectoryIndex zu tun hat, denn wenn ich direkt über gallery.wfto.cc:9001 auf Apache zugreife, funktioniert es einwandfrei. – meinemitternacht

+0

Hinzufügen zu "location /" in nginx folgende Zeile: index index.php; – shark555

+0

Funktioniert auch nicht. – meinemitternacht