我正在为nginx+apache做一个测试设置。我让nginx监听端口80,apache监听端口8080。Nginx是用来处理静态内容的,apache是用来处理动态内容的(至少在我们可以升级到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相当陌生,但我四处看看,找不到解决这个问题的任何设置(尽管问题非常简单,看起来应该是这样)。有什么建议吗?
我使用的是nginx1.0.1,如果这是相关的话。
发布于 2011-07-06 07:48:42
添加
location = / {
proxy_pass http://127.0.0.1:8080/test.php;
}发布于 2011-07-06 05:38:48
一旦Nginx意识到所请求的URL以.php结束,它就会将请求发送给Apache,因此您应该将以下行添加到Apache配置文件中:
DirectoryIndex test.php您可以在这个网址上找到更多关于DirectoryIndex及其作用域的信息:
http://httpd.apache.org/docs/2.2/mod/mod_dir.html#directoryindex
https://serverfault.com/questions/287331
复制相似问题