【发布时间】:2016-02-22 19:41:27
【问题描述】:
我正在使用 ubuntu 14.04 并运行 nginx 1.4.6 作为反向代理服务器来与我在 uwsgi 上运行的 django 后端通信。我无法让内部重定向工作,也就是说,请求根本没有到达 django。这是我的 nginx 配置 /etc/nginx/site-enabled/default 文件。请让我知道我的配置有什么问题。
server {
listen 8080;
listen 8443 default_server ssl;
server_name localhost;
client_max_body_size 50M;
access_log /var/log/nginx/nf.access.log;
error_log /var/log/nginx/nf.error_log debug;
ssl_certificate /etc/ssl/nf/nf.crt;
ssl_certificate_key /etc/ssl/nf/nf.key;
location / {
proxy_pass http://localhost:8000;
}
location /static/ {
root /home/northfacing;
}
location /media/ {
internal;
root /home/northfacing;
}
}
添加我的 uwsgi 配置。
[uwsgi]
chdir=/home/northfacing/reia
module=reia.wsgi:application
master=True
pidfile=/home/northfacing/reia/reia-uwsgi.pid
vacuum=True
max-requests=5000
daemonize=/home/northfacing/reia/log/reia-uwsgi.log
http = 127.0.0.1:8000
添加我的 uwsgi 启动脚本
#!/bin/bash
USER="northfacing"
PIDFILE="/home/northfacing/reia/reia-uwsgi.pid"
function start(){
su - ${USER} /bin/sh -c "source /home/northfacing/nfenv/bin/activate && exec uwsgi --pidfile=${PIDFILE} --master --ini /etc/init.d/reia-uwsgi.ini"
}
function stop(){
kill -9 `cat ${PIDFILE}`
}
$1
/home/northfacing/nfenv 是我的python环境目录。
【问题讨论】:
-
你要从哪个网址重定向到哪个网址?
-
另外,如果您使用的是 uWSGI,请考虑使用本机 uwsgi 协议 (
uwsgi_pass) 而不是proxy_pass。 -
你做了什么,什么不工作?
-
你在 8000 端口上运行 uwsgi 吗?显示您的配置以及如何启动它。你使用什么 URL 来访问 nginx?
-
什么?这根本不是您的配置所说的。 /media(如 /static)直接路由到 /home/northfacing 的文件系统,并且不通过 Django。
标签: django nginx x-accel-redirect