首页 文章

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

提问于
浏览
0

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

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

Below is the relevant DjangoProject text

但是,如果您没有选择,只能在与Django相同的Apache VirtualHost上提供媒体文件,则可以将Apache设置为将某些URL作为静态媒体提供,而将其他URL设置为使用Django的mod_wsgi接口 . 此示例在站点根目录设置Django,但显式地将robots.txt,favicon.ico,任何CSS文件以及/ static /和/ media / URL空间中的任何内容作为静态文件提供 . 所有其他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版本,请将所有已授予的全部允许替换为Allow,并在其上方添加Order deny,allow行 .

与我的 <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 回答

  • 1

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

相关问题