当前位置: 首页 > 面试题库 >

django:通过nginx提供静态文件

巴博耘
2023-03-14
问题内容

我正在为Django使用apache + mod_wsgi。
并且所有css / js / images都通过提供nginx
出于某种奇怪的原因,当其他人/朋友/同事尝试访问该网站时,jquery / css不会为他们加载,因此页面看上去很混乱。

我的html文件使用这样的代码-

<link rel="stylesheet" type="text/css" href="http://x.x.x.x:8000/css/custom.css"/>
<script type="text/javascript" src="http://1x.x.x.x:8000/js/custom.js"></script>

我的nginx配置sites-available是这样的

    server {   
         listen   8000;   
         server_name  localhost;

         access_log  /var/log/nginx/aa8000.access.log;    
         error_log  /var/log/nginx/aa8000.error.log;    

           location / {   
               index  index.html index.htm;    
           }    

         location /static/ {    
            autoindex on;    
            root   /opt/aa/webroot/;    
         }    
     }   

有一个目录/opt/aa/webroot/static/,其中有相应的cssjs目录。

奇怪的是,当我访问它们时页面显示正常。
我已经清除了我的缓存/等,但是该页面对我来说可以从各种浏览器加载正常。

另外,我在Nginx日志文件中看不到404任何错误。


问题答案:
  1. server_name必须与link/ scriptURL 中的主机名匹配。将此接口声明为默认配置:端口对(listen 8000 default
  2. Nginx必须在绑定主机IP的接口上侦听(对于你的情况似乎可以)


 类似资料:
  • 问题内容: 我想在localhost上的gunicorn下运行django项目。我安装并集成了Gunicorn。当我跑步时: 它可以工作,但是没有任何静态文件(css和js) 我在settings.py中禁用了debug和template_debug(将它们设置为false),但是仍然相同。我想念什么吗? 我称静态为: 问题答案: 在开发模式下以及使用其他服务器进行本地开发时,请将其添加到url.

  • 我一直在处理将一个站点从Apache迁移到Nginx的过程,我快要失去理智了。虚拟主机不想提供静态资源(css、js等),我似乎不知道为什么。服务器块看起来像这样: 我错过了什么?我知道这是因为我对Nginx缺乏经验,但任何建议都将不胜感激。 谢谢 更新 这似乎与我以前遇到麻烦的化名有关。如果我将我的文档根指向别名位置(),并尝试呈现没有别名的静态内容,它会呈现良好的效果。一旦我在网址中输入别名.

  • 问题内容: 我正在使用,我的django应用的结构如下 的是 在我尝试使用它为: 但是它没有加载并给出错误 我跑去收集所有静态文件。 为什么要加载CSS文件?是否缺少任何配置? 请提出建议。 问题答案: 根据文档正确的方式来加载静态文件是 这会工作

  • 问题内容: 这是我的项目文件夹 这是我index.js中的静态文件配置 这是我的index.html 这是我的nginx配置 但是我在所有脚本上都得到404。另一个奇怪的是,这些文件上的mime-type设置为 我在这里做错了什么? 我有一个项目,该项目具有相同的项目结构,并且具有相同的配置,但它适用于此项目,在这种情况下不起作用。 问题答案: 您无需配置Nginx 和 Express即可提供静态

  • 我不能通过nGinx提供静态文件,而是得到404。我可以看到错误(如error.log所示),我只是不知道如何修复它。 网址。派克 settings.py (收集了一个静态文件,所有静态文件现在都在“staticfiles/”中) nginx配置 基础html 这是日志 错误日志 (静态/添加在静态url中,我看不出为什么)

  • 问题内容: 让我感谢Stack Overflow社区的人们帮助我解决了各种Django和Apache(带有mod_wsgi)错误。到目前为止,我已经问了5个相关的问题,现在我越来越接近在生产站点上发布内容了! 我读到有关,(很快就会过时),并在Apache配置中设置。我试图逐个测试每个解决方案,但是我什么也做不了。 这是我的管理网站现在的样子 我也有一个奇怪的情况,那就是 任何子 域都可以在我的服