这些VirtualHost设置是否适用于Django?

时间:2017-05-14 20:06:17

标签: django apache virtualhost

我正在客户端的网站上部署Django应用程序,并且无法直接访问httpd.conf文件。站点支持为我创建了以下内容,但似乎没有STATIC_ROOT和STATIC_URL的任何组合,我可以使用它。它甚至可能吗?

注意:在subdomain.mywebsite.com上正好提供Django / Python页面 - 我只缺少静态文件。 (抱歉混淆了URL和IP ......客户端非常私密。)

更新1(删除了斜杠 - 仍然不起作用)

NameVirtualHost ##.###.###.#

<VirtualHost ##.###.###.#>
DocumentRoot /home/httpd/html/subdomain.mywebsite.com/public_html
ScriptAlias /cgi-bin /home/httpd/html/subdomain.mywebsite.com/cgi-bin
ServerName www.subdomain.mywebsite.com
CustomLog /home/httpd/logs/subdomain.mywebsite.com_access_log combined
ServerAlias subdomain.mywebsite.com

Alias /static/ /home/httpd/html/subdomain.mywebsite.com/public_html/static/
 <Directory /home/httpd/html/subdomain.mywebsite.com/public_html/>
    allow from all
</Directory>


<Directory /home/httpd/html/subdomain.mywebsite.com/public_html/>
    <Files wsgi.py>
        allow from all
    </Files>
</Directory>

ProxyPreserveHost On
ProxyPass / http://127.0.0.1:8000/
ProxyPassReverse / http://127.0.0.1:8000/

</VirtualHost>

这就是我的settings.py文件中的内容

STATIC_URL = '/static/'
STATIC_ROOT = '/home/httpd/html/notices.removeyourcontent.com/public_html'

我也试过了:

STATIC_ROOT = '/home/httpd/html/notices.removeyourcontent.com/public_html/static'

1 个答案:

答案 0 :(得分:1)

在静态之后删除斜杠,我有同样的问题,在静态发布后变成额外的斜杠。

Alias /static /home/httpd/html/subdomain.mywebsite.com/public_html/static/

正如OP在评论中所提到的,删除ProxyPass有帮助。

ProxyPass / http://127.0.0.1:8000/