2012-04-15 15 views
0

nginx + php-fastcgiでうまく動作するサイトがたくさんあります。唯一動作しないのは、Gallery3というPHPギャラリーアプリケーションです。残念ながら、私はこのアプリケーションでApacheを使用する必要があります。次のように私が持っている問題は、次のとおりです。Apache + Nginxリバースプロキシがデフォルトでindex.phpを提供していません

gallery.wfto.cc - 動作しません(それが解析され取得されていないためにindex.phpのPHPコードを含む、名前のファイルをダウンロード)

ギャラリー。 wfto.cc/ - 動作しません(同じもの)

はgallery.wfto.cc/index.php - (同じことを)動作しません

gallery.wfto.cc/index.php/- 動作します。

gallery.wfto.cc:9001(すべてのバリエーション) - 動作します。

私は何が起こっているのか分かりません。私は下の私の構成の大部分を含んだ。 /etc/nginx/conf.d/proxy.confは一般的なプロキシ設定ですが、特別なものはありません。

##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

nginxサーバーのエントリが実際に使用されていて、偶然に他のものが使用されていないことを確認してください(例:URLのドメイン名のスペルが間違っていますか?アクセスログを確認して確認してください。いくつかの愚かなことを確認する:nginxを再起動すると、実行中のプロセスが停止した後に生きていないことを確認する。 'root 'を空のディレクトリに変更してください(もしApacheにすべてをプロキシしているなら、nginxはコンテンツにアクセスする必要はありません)。 –

+0

私は、nullディレクトリ(空のディレクトリ)を指すようにrootを変更しましたが、何も変更されません。そのサーバーブロックは、そのサブドメイン上のトラフィックを捕捉する唯一のブロックです。 – meinemitternacht

+0

空のディレクトリに変更した後、あなたのテストが実際にApacheに到達したかどうか、Apacheのアクセスログをチェックしましたか? "同じ結果"(index.phpのコンテンツのダウンロードを前提としています)が得られれば、ブラウザが単にキャッシュされた結果を返すだけである可能性もあります。 –

答えて

0

私は物事が仕事を始めたどの時点ではわかりませんが、あなたは、サーバー構成を変更している場合は、完全にブラウザのキャッシュをクリアしてください。

0

のapacheのconfにこれを追加します。

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

まだ動作しません。私は、DirectoryIndexとは関係がないと思う。なぜなら、gallery.wfto.cc:9001経由でApacheに直接アクセスすると、うまく動作するからだ。 – meinemitternacht

+0

nginxの "location /"に次の行に追加してください: index index.php; – shark555

+0

また、動作しません。 – meinemitternacht

関連する問題