使用mod_wsgi在Apache2上使用Django部署静态文件的设置文件的位置

时间:2014-07-18 18:51:05

标签: django django-staticfiles

我正在尝试按照1.6文档中的Deploying static files on Apache using mod_wsgi教程进行操作。我已经使用mod_wsgi在Apache上部署了一个正在进行中的工作,但我需要学习如何正确部署静态文件,而不是像我一直那样链接到外部Bootstrap CSS。

我的问题是我不知道文档中的以下示例设置在哪里或应该去哪里。

Below is the relevant DjangoProject text

  

但是,如果您没有选择,只能在同一个媒体上提供媒体文件   Apache VirtualHost作为Django,您可以设置Apache来提供一些URL   作为静态媒体,以及其他使用Django的mod_wsgi接口。

     

此示例在站点根目录设置Django,但显式提供   robots.txt,favicon.ico,任何CSS文件,以及/ static /中的任何内容   和/ media / URL空间作为静态文件。将提供所有其他网址   使用mod_wsgi:

然后给出了我需要修改的以下示例代码

Alias /robots.txt /path/to/mysite.com/static/robots.txt
Alias /favicon.ico /path/to/mysite.com/static/favicon.ico

AliasMatch ^/([^/]*\.css) /path/to/mysite.com/static/styles/$1

Alias /media/ /path/to/mysite.com/media/
Alias /static/ /path/to/mysite.com/static/

<Directory /path/to/mysite.com/static>
Require all granted
</Directory>

<Directory /path/to/mysite.com/media>
Require all granted
</Directory>

WSGIScriptAlias / /path/to/mysite.com/mysite/wsgi.py

<Directory /path/to/mysite.com/mysite>
<Files wsgi.py>
Require all granted
</Files>
</Directory>

接着是一些澄清说明

  

如果您使用的是早于2.4的Apache版本,请替换Require   所有授予所有允许,并添加行拒绝,允许   在它之上。

与我的<VirtualHost>文件有一些相似之处。我应该加到它吗?或者它应该存储在另一个位置?

<VirtualHost *:80>
ServerName phaedrus.scss.tcd.ie/bias_experiment
ServerAlias phaedrus.scss.tcd.ie
WSGIScriptAlias /bias_experiment/ /var/www/bias_experiment/src/bias_experiment/index.wsgi

Alias /static/ /var/www/bias_experiment/src/bias_experiment/static/
<Location "/static/">
    Options -Indexes
</Location>
</VirtualHost>

任何帮助都会很棒。

1 个答案:

答案 0 :(得分:1)

是的,这应该与您的虚拟主机配置位于同一位置。