mod_wsgi 解析 WSGI 脚本文件失败 |处理 WSGI 脚本时发生异常 |无法导入“站点”模块
Posted
技术标签:
【中文标题】mod_wsgi 解析 WSGI 脚本文件失败 |处理 WSGI 脚本时发生异常 |无法导入“站点”模块【英文标题】:mod_wsgi Failed to parse WSGI script file | Exception occurred processing WSGI script | Unable to import 'site' module 【发布时间】:2017-11-03 16:56:06 【问题描述】:我在 centos 6.9 机器上使用 httpd 和 mod_wsgi 和 httpd 这里是相关文件,我正在尝试在 apache 2.15 版本上部署 django,尝试谷歌很多但无法解决问题,任何帮助将不胜感激
django.conf
WSGIPythonHome /home/pbadmin/venv/bin/python
WSGIPythonPath /home/pbadmin/venv/lib/python2.7/site-packages
<VirtualHost *:8888>
ServerAdmin root@localhost
ServerName 10.0.48.40
DocumentRoot /var/www/PBpy
WSGIScriptAlias / /var/www/PBpy/PBpy/wsgi.py
WSGIDaemonProcess PBpy python-path=/home/pbadmin/venv/lib/python2.7/site-packages
ErrorLog "/home/pbadmin/pylogs"
<Directory "/var/www/PBpy">
Order deny,allow
Allow from all
</Directory>
</VirtualHost>
wsgi.py
import os
import sys
#sys.path.append('/var/www/PBpy')
from django.core.wsgi import get_wsgi_application
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "PBpy.settings")
application = get_wsgi_application()
错误日志
[Thu Jun 01 12:27:24 2017] [error] [client 10.0.32.94] mod_wsgi (pid=6148): Target WSGI script '/home/pbadmin/PBpy/apache/django.wsgi' cannot b$
[Thu Jun 01 12:27:24 2017] [error] [client 10.0.32.94] mod_wsgi (pid=6148): Exception occurred processing WSGI script '/home/pbadmin/PBpy/apach$
[Thu Jun 01 12:27:24 2017] [error] [client 10.0.32.94] Traceback (most recent call last):
[Thu Jun 01 12:27:24 2017] [error] [client 10.0.32.94] File "/home/pbadmin/PBpy/apache/django.wsgi", line 10, in <module>
[Thu Jun 01 12:27:24 2017] [error] [client 10.0.32.94] import django.core.handlers.wsgi
[Thu Jun 01 12:27:24 2017] [error] [client 10.0.32.94] File "/home/pbadmin/venv/lib/python2.7/site-packages/django/__init__.py", line 3, in <
【问题讨论】:
【参考方案1】:一开始你不应该将WSGIPythonHome
设置为python
的二进制文件。阅读:
了解如何正确设置 Python 虚拟环境。
您还缺少WSGIProcessGroup
指令。您实际上并没有将应用程序委托给已定义的守护进程组。
【讨论】:
以上是关于mod_wsgi 解析 WSGI 脚本文件失败 |处理 WSGI 脚本时发生异常 |无法导入“站点”模块的主要内容,如果未能解决你的问题,请参考以下文章
pip install mod_wsgi 在 virtualenv 中失败
Django,apache,mod_wsgi - 错误:脚本头过早结束
当我触摸 wsgi 脚本时,带有 mod_wsgi 的烧瓶应用程序不会重新加载
我该如何解决这个问题? mod_wsgi (pid=3445): 目标 WSGI 脚本 '/www/folder/index.py' 不能作为 Python 模块加载