我正在为nginx + apache进行testing设置。 我有nginx监听端口80,端口8080上的apache。Nginx设置为处理静态内容,Apache有dynamic内容处理(至less直到我们可以升级到PHP 5.3)。 我的apache设置工作正常,这里是nginx的服务器部分:
server { listen 80; server_name mediocregopher-test; index test.php; location ~ \.php$ { proxy_pass http://127.0.0.1:8080; } location ~ /\.ht { deny all; } location / { root /var/www/html; } }
问题是,当有人请求“mediocregopher-test:80 /”时,我的索引页面(test.php)需要被代理到apache为“127.0.0.1:8080/test.php”。 有了这个设置,这不会发生。 我对nginx相当陌生,但是我环顾四周,找不到任何可以解决这个问题的设置(尽pipe问题太简单了,看起来像是这样)。 有什么build议么?
我使用nginx 1.0.1,如果这是相关的。
加
location = / { proxy_pass http://127.0.0.1:8080/test.php; }
只要Nginx发现请求的URL在.php结尾 ,就会把请求发送给Apache,所以你应该在Apacheconfiguration文件中添加下面一行:
DirectoryIndex test.php
你可以在这个URL上find更多关于DirectoryIndex及其范围的信息:
http://httpd.apache.org/docs/2.2/mod/mod_dir.html#directoryindex