【发布时间】:2014-02-04 17:59:12
【问题描述】:
我正在尝试将 nginx 配置为传递给 django fcgi,但从路由到 django 中排除某些路径,并将一条路径路由到 PHP fcgi。我无法正确配置。
这是我的虚拟主机配置示例:
server {
listen 80;
server_name awesome.com;
#main django fcgi pass
location / {
include /etc/nginx/fastcgi_params;
fastcgi_pass 127.0.0.1:8025;
fastcgi_split_path_info ^()(.*)$;
}
#alias for django static
location /static {
alias /var/www/django/awesome/django/static;
}
#alias for django media
location /media {
alias /var/www/django/awesome/django/media;
}
#Below is what I'm trying to figure out.
#alias /vanilla to generic nginx file serving
location /vanilla {
alias /var/www/html/vanilla;
}
#pass the PHP scripts for vanilla forums to FastCGI server listening on 127.0.0.1:9000
location /vanilla/?*\.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /var/www/html$fastcgi_script_name;
include fastcgi_params;
index index.php index.html index.htm;
}
}
以前有人必须这样做吗?我不确定如何正确配置此配置。
【问题讨论】:
-
这个配置的行为是什么?每个发送到 django 的请求?
-
是的,每个请求都进入 django,/static 和 /media 别名工作正常,但我试图让 /vanilla 路径正常工作。它继续被路由到 django。