vmo*_*eco 11 apache django mod-wsgi pythonpath
我正在尝试使用以下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>
Run Code Online (Sandbox Code Playgroud)
我也有以下wsgi.py:
import os
from django.core.wsgi import get_wsgi_application
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "example.settings")
application = get_wsgi_application()
Run Code Online (Sandbox Code Playgroud)
我没有问题来提供STATIC文件和MEDIA文件.
我还检查了权限并尝试递归使用755,然后777到我的virtualenv的site-package目录.它没用.
但是当我试图访问我的网站的根目录时,我得到以下内容:
from django.core.wsgi import get_wsgi_application
ImportError: No module named 'django'
Run Code Online (Sandbox Code Playgroud)
我猜这是一个Python路径相关的问题,因为django安装在我的virtualenv中.但我添加了相关的python路径WSGIDaemonProcess的python-path属性,所以我不明白为什么它不起作用.
我也猜测我可以通过使用site模块将相关目录添加到我的wsgi.py中的Python路径中,但我想了解为什么我尝试的Apache配置还不够.我错过了什么?
Gra*_*ton 21
您缺少WSGIProcessGroup指令或等效选项WSGIScriptAlias,因此您的应用程序实际上并未在您设置虚拟环境的守护程序进程组中运行.
我还建议确保应用程序组设置为'%{GLOBAL}',如果这是您在守护进程组中运行的唯一应用程序.
因此使用:
WSGIScriptAlias / /path/to/project/project/wsgi.py \
process-group=project application-group=%{GLOBAL}
Run Code Online (Sandbox Code Playgroud)
也更适合python-home用于虚拟环境.
WSGIDaemonProcess project python-path=/path/to/project \
python-home=/path/to/Envs/venv
Run Code Online (Sandbox Code Playgroud)
看到:
我的代表未超过50岁,因此我无法发表评论,但我想分享我的发现。
在WSGIDaemonProcess中,如果您使用的是Python 3.5,则需要按照@ graham-dumpleton所说的进行设置,
python-home=/path/to/Envs/venv
Run Code Online (Sandbox Code Playgroud)
明确设置。
但是,如果您使用的是Python 3.4(或据我所知的某些旧版本的Python,如2.7),则必须将其配置为
python-path=/path/to/project:/path/to/Envs/venv/lib/python3.4/site-packages
Run Code Online (Sandbox Code Playgroud)
就像问问者所做的一样。
真奇怪。
对我来说,问题是我为 python2 安装了 mod wsgi。我不得不为python3重新安装它:
sudo apt-get install libapache2-mod-wsgi-py3
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
18830 次 |
| 最近记录: |