【问题标题】:Location of settings file for deploying static files with Django on Apache2 with mod_wsgi使用 mod_wsgi 在 Apache2 上使用 Django 部署静态文件的设置文件的位置
【发布时间】:2014-09-09 23:55:50
【问题描述】:

我正在尝试遵循 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 空间作为静态文件。将提供所有其他 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>

后面是一些澄清说明

如果您使用的 Apache 版本早于 2.4,请替换 Require 全部授予全部允许,并添加行订单拒绝,允许 在它上面。

与我下面的&lt;VirtualHost&gt; 文件有一些相似之处。我应该把它添加到这个吗?还是应该存放在其他位置?

<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>

任何帮助都会很棒。

【问题讨论】:

    标签: django django-staticfiles


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2016-11-17
      • 1970-01-01
      • 2012-06-09
      • 1970-01-01
      • 2010-10-18
      • 1970-01-01
      • 1970-01-01
      • 2014-06-08
      • 2018-03-30
      相关资源
      最近更新 更多