我已经尝试了网上的每个django Nginx教程,我无法在屏幕上显示图像文件.它始终是旧故事 – 404 PAGE NOT FOUND.网页加载正常,但我的/ static /文件夹中的django.png没有.不确定在settings.py或Nginx中是否存在问题.
我很沮丧,我拒绝看另一个“如何获得Nginx / django教程”.如果我在不久的将来部署一个网站,Gunicorn是否足以运行Django站点并同时提供静态文件而不使用Apache或Nginx?首先拥有反向代理是否有很大好处?
是. Gunicorn也可以为你的静电服务.
原文链接:https://www.f2er.com/nginx/435053.html如果所有其他方法都失败了,那就让django为你做(虽然在挫折之前这是最后的手段.)要做到这一点,你只需要添加另一个url模式,如下所示:
urlpatterns = patterns('',# ... the rest of your URLconf goes here ...
) + static(settings.MEDIA_URL,document_root=settings.MEDIA_ROOT)
虽然服务静态的django比不服务它更好,但是值得将它委托给为Nginx优化的服务器.
我建议在另一个端口上运行Nginx,然后更改django STATIC_URL设置以包含端口(在确认端口为静态提供服务之后). – 这样做就像从Nginx文件夹中进行MEDIA_ROOT的simlink一样简单.
如果你正在使用Nginx,使用它代理所有请求也是好的,并且只将django请求传递给gunicorn.所有这些要求是添加一个conf文件,相应地告诉Nginx.
我可以看到它是如何让那些正在启动并尝试一次完成(代理请求,静态服务,配置Nginx)的人感到困惑.一个接一个地尝试.从枪声中获取媒体;然后从Nginx服务它,然后最终也有Nginx代理.但是,在将应用程序投入生产之前,请执行此操作.我看到这种方法增加了理解并减少了挫败感.