【发布时间】:2016-12-09 23:09:10
【问题描述】:
我正在尝试使用以下 Apache 配置为一个小 django 项目提供服务:
Apache 虚拟主机配置:
<VirtualHost *>
ServerName servername
[...]
<Directory "/path/to/project/project">
<Files wsgi.py>
Require all granted
</Files>
</Directory>
WSGIDaemonProcess project python-path=/path/to/project:/path/to/Envs/venv/lib/python3.5/site-packages
WSGIScriptAlias / /path/to/project/project/wsgi.py
</VirtualHost>
我也有以下 wsgi.py :
import os
from django.core.wsgi import get_wsgi_application
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "example.settings")
application = get_wsgi_application()
提供静态文件和媒体文件没有问题。
我还检查了权限并尝试递归地使用 755,然后是 777 到我的 virtualenv 的站点包目录。没用。
但是当试图到达我网站的根目录时,我得到以下信息:
from django.core.wsgi import get_wsgi_application
ImportError: No module named 'django'
我猜这是与 Python 路径 相关的问题,因为 django 安装在我的 virtualenv 中。但是我在WSGIDaemonProcess 的python-path 属性中添加了相关的python 路径,所以我不明白为什么它不起作用。
我也想我可以add the relevant directory to my Python path in my wsgi.py by using the site module,但我想了解为什么我尝试的 Apache 配置还不够。我错过了什么吗?
【问题讨论】:
-
this 也为您解决问题吗?
标签: django apache mod-wsgi pythonpath