部署django项目时,nginx静态文件配置通俗易懂的说明

静态文件指JS、css、图片等文件,在django项目投入生产中时,可以不必在setting中指明静态文件的路径,只需在nginx的站点配置中指明即可,详解如下:

先上工程目录:

opt

----MyBlog

     -----MyBlog

     -----static

            -----js

           -----images

           -----css

     -----Templates

     -----myapp

我的项目图片是保存在images的目录下,js和css目录保存对应格式的文件。

HTML文件文件中图片加载URL如下:

<img src="/static/images/timg7AV7OGD0.jpg" alt="图片打开失败" />

nginx站点静态配置文件如下:

location ~ .*/static/images/(.*)\.(gif|jpg|jpeg|png|bmp|swf|svg)$ {
       alias /opt/MyBlog/static/images/$1.$2;
   }
location ~ .*/(.*)\.(js|css)$ {
       alias /opt/MyBlog/static/$2/$1.$2;
   }

~ .*/static/images/(.*)\.(gif|jpg|jpeg|png|bmp|swf|svg)$是正则表达式,alias /opt/MyBlog/static/images/$1.$2;是图片的路径。意义就是html文件在加载URL类似static/images/*.jpg的图片时,会通过路径/opt/MyBlog/static/images/寻找*.jpg图片文件。也就是说在配置静态文件时,查看HTML文件中图片的URL,并保持和location后的URL一致,然后在alias后面写上项目保存图片目录的绝对路径。

js和css的配置大致一致,不过需要注意的是$2/$1.$2代表是查找css目录下的*.css文件或js目录下的*.js文件。

展开阅读全文

没有更多推荐了,返回首页