apache - Django,Apache和 Nginx的配置

  显示原文与译文双语对照的内容
0 0

我已经在Apache+mod_wsgi上安装了 Django 应用程序。 为 static 文件服务我使用 Nginx,如 Django 网站项目建议。 http://docs.djangoproject.com/en/dev/howto/deployment/modwsgi/

Apache在端口 8081上运行,Nginx 在端口 80上。 现在有人建议我的配置错误,我应该反转Apache和 Nginx的角色。 我不确定为什么。 如果我的配置是错误的,为什么 Django 网站会提出错误的方法?

时间: 原作者:

0 0

链接到的Django 文档不建议你使用apache作为反向代理。 他们只是建议你使用一个单独的web服务器,所以我说文档在那个主题--中不清楚,因为他们不建议任何错误的 。

我的初始答案是假设你有 Nginx 作为反向代理,因为端口 80是HTTP端口,当浏览器试图使用没有指定端口的url时使用。

通过快速谷歌搜索设置 Nginx + apache有许多完整的指南,但这里是设置 Nginx的要点:


location/{
 # proxy/requests to apache running django on port 8081
 proxy_pass http://127.0.0.1:8081/;
 proxy_redirect off;
 } 

location/media/{ 
 # serve static media directly from nginx
 root/srv/anuva_project/www/;
 expires 30d;
 break;
 }

你需要做的就是从你的apache配置中删除代理行并将代理语句添加到你的nginx.conf 。

如果你确实希望从端口 8081提供站点,那么可能有 Nginx 监听端口 8081,并让apache侦听另一个端口。

关键是,apache位于一些晦涩的端口,只提供从 Nginx 发送给它的请求,而 static 文件服务是由 Nginx 处理的。

...