[英]Weird error deploying django on apache, mod_wsgi, debian
on django 1.8 In apache error logs am getting 在django 1.8中我遇到了apache错误日志
File "..../python2.7/site-packages/django/utils/lru_cache.py", line 28
fasttypes = {int, str, frozenset, type(None)},
SyntaxError: invalid syntax
googling around this seems to be an error you get when running django 1.7+ and not meeting the minimum python requirement of 2.7. 谷歌搜索这似乎是一个错误,你运行django 1.7+而不满足2.7的最低python要求。 however
然而
$ python --version
Python 2.7.3
here is the relevant parts of apache virtual host config. 这是apache虚拟主机配置的相关部分。
<VirtualHost <some_ip>:80>
WSGIDaemonProcess some_process python-path=/path/to/django-project/main-django-app:/path/to/virtual-env/site-packages/ threads=15 display-name=%{GROUP}
WSGIProcessGroup some_group
WSGIScriptAlias / /path/to/django-project/main-django-app/wsgi.py
<Directory /path/to/django-project/main-django-app>
<Files wsgi.py>
Order deny,allow
# Require all granted
# for Apache < 2.4
Allow from all
</Files>
</Directory>
</VirtualHost>
does anyone have any idea what the issue might be? 有谁知道问题可能是什么?
You need to install the mod_wsgi for your python version. 您需要为您的python版本安装mod_wsgi。
If you have not access to the apache installation, mod_wsgi can be installed directly in your virtualenv using pip. 如果您无法访问apache安装,可以使用pip直接在virtualenv中安装mod_wsgi。 Then it can be loaded in your server settings using:
然后可以使用以下命令将其加载到服务器设置中:
Global settings: 全局设置:
LoadModule wsgi_module /path/to_your_env/path/to/mod_wsgi.so
WSGISocketPrefix run/wsgi
WSGIDaemonProcess 385969
Virtualhost: 虚拟主机:
WSGIScriptAlias / "/path/to/your/wsgi.py"
<Location />
WSGIProcessGroup 385969 # this value must be identical to WSGIDaemonProcess
</Location>
Finally, I your wsgi.py file, you'll have to activate the virtualenv. 最后,我是你的wsgi.py文件,你必须激活virtualenv。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.