在生产服务器上使用Django提供媒体文件
我知道从技术上讲你不应该这么做,但我别无选择,我需要今天发布我的网站。由于这是我的第一个Django应用程序,我刚刚意识到设置DEBUG=False会导致Django在生产中不再提供媒体文件 让Django为我的媒体文件提供服务的最快和最肮脏的方式是什么?任何帮助都将不胜感激 我想我是糊涂了 通常在生产环境中,我将静态url和媒体url设置到服务器上的指定文件夹 然后我的模板引用在生产服务器上使用Django提供媒体文件,django,apache,Django,Apache,我知道从技术上讲你不应该这么做,但我别无选择,我需要今天发布我的网站。由于这是我的第一个Django应用程序,我刚刚意识到设置DEBUG=False会导致Django在生产中不再提供媒体文件 让Django为我的媒体文件提供服务的最快和最肮脏的方式是什么?任何帮助都将不胜感激 我想我是糊涂了 通常在生产环境中,我将静态url和媒体url设置到服务器上的指定文件夹 然后我的模板引用 <img src="{{ MEDIA_URL }}images/image1.jpg" /> 它提供C
<img src="{{ MEDIA_URL }}images/image1.jpg" />
它提供CSS、JavaScript等服务
我不确定这里面有什么肮脏或不合适的地方 没有捷径可走。实际上只有一种方法:将Apache指向媒体文件夹,并将
静态URL
设置为Apache正在使用的URL。以下是我最后要做的。我刚刚在apache2.conf文件中添加了以下内容,效果非常好:
Alias /media/ /home/Mysite/mediaroot/
<Directory /home/Mysite/media>
Order deny,allow
Allow from all
</Directory>
Alias/media//home/Mysite/mediaroot/
命令拒绝,允许
通融
Apache现在为我的媒体服务:)至于像视频之类的媒体文件,我也以同样的方式将它们流式传输。
Alias /media/ /home/Mysite/mediaroot/
<Directory /home/Mysite/media>
Order deny,allow
Allow from all
</Directory>