【发布时间】:2018-10-24 20:29:13
【问题描述】:
我需要使用 ubuntu 在 apache2 中的 django 中配置我的项目。这些是我配置的文件以及我是如何完成的。
我的 django 项目是 /var/www/auxiliar_api 目录。
/etc/apache2/sites-available/auxiliar_api.conf
<VirtualHost *:80>
WSGIDaemonProcess auxiliar_api.com python-home=/usr/bin/python3.5 python-path=/$
WSGIScriptAlias / /var/wwww/auxiliar_api/auxiliar_api/wsgi.py
ServerAdmin example@gmail.com
ServerName auxiliar_api.com
ServerAlias www.auxiliar_api.com
DocumentRoot /var/www/auxiliar_api/auxiliar_api
Alias /static/ /var/www/auxiliar_api/static/
<Directory /var/www/auxiliar_api/static>
Require all granted
</Directory>
<Directory /var/www/auxiliar_api/auxiliar_api>
<Files wsgi.py>
Require all granted
</Files>
</Directory>
</VirtualHost>
/var/www/auxiliar_api/auxiliar_api/wsgi.py
import os
from django.core.wsgi import get_wsgi_application
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "auxiliar_api.settings")
application = get_wsgi_application()
当我尝试访问本地主机时,这是我在浏览器中遇到的错误
Forbidden
You don't have permission to access / on this server.
Apache/2.4.18 (Ubuntu) Server at localhost Port 80
我需要知道我应该配置哪些其他文件以及如何配置?另外,如果我需要修改我所做的一些配置,我应该向他们展示什么?
感谢您的任何回答。
【问题讨论】:
-
你有
/var/wwww/auxiliar_api/auxiliar_api/wsgi.py。这实际上是你所拥有的还是错字?应该是/var/www/auxiliar_api/auxiliar_api/wsgi.py?也就是说,www不是wwww。 -
不相关,但
python-home=/usr/bin/python3.5也是错误的。这并不意味着设置为二进制文件,而是一个目录。只有在使用虚拟环境或 Python 位于非标准位置时才需要它。见modwsgi.readthedocs.io/en/develop/user-guides/… -
您也不应该将
DocumentRoot设置为/var/www/auxiliar_api/auxiliar_api。它不是必需的,如果您注释掉WSGIScriptAlias,人们可以下载您的源代码。 -
最后,
python-path实际设置为什么。看起来应该是/var/www/auxiliar_api但您可能刚刚截断了这条线。
标签: django python-2.7 apache ubuntu-16.04 mod-wsgi