centos - apache配置django报错:cannot be loaded as Python modules
问题描述
平台:Centos5 ECS上的django版本1.6apache版本2.2通过mod_wsgi将django项目配置到apache上一直没有成功,单独测试wsgi可以访问,django单独跑runserver也可以跑通项目路径:
/var/www/html`-- mysite |-- manage.py |-- mysite | |-- __init__.py | |-- __init__.pyc | |-- media | |-- settings.py | |-- settings.pyc | |-- static | |-- urls.py | |-- wsgi.py | `-- wsgi.pyc `-- wsgi`-- django.wsgi
通过startproject创建的项目,单独runserver可以跑通,新增了wsgi文件夹以及django.wsgi配置文件
httpd.conf文件中添加了:
LoadModule wsgi_module modules/mod_wsgi.so<VirtualHost *:80> ServerAdmin root@localhost DocumentRoot /var/www/html ServerName 121.40.202.235 ErrorLog 'logs/error_log' CustomLog 'logs/access_log' common WSGIScriptAlias / /var/www/html/mysite/wsgi/django.wsgi <Directory /var/www/html/mysite> Order deny,allow Allow from all </Directory></VirtualHost>
django.wsgi文件:
import osimport sysimport django.core.handlers.wsgios.environ[’DJANGO_SETTINGS_MODULE’]= ’mysite.settings’sys.path.append(’/usr/local/lib/python2.7/site/packages’)app_path = os.path.dirname(__file__)if app_path not in sys.path:sys.path.append(app_path)application =django.core.handlers.wsgi.WSGIHandler()
重启apache服务器没有问题,访问网址后报错日志为:
[Fri Oct 17 21:19:18 2014] [error] [client 117.89.63.242] mod_wsgi (pid=18776): Target WSGI script ’/var/www/html/mysite/wsgi/django.wsgi’ cannot be loaded as Python module.[Fri Oct 17 21:19:18 2014] [error] [client 117.89.63.242] mod_wsgi (pid=18776): Exception occurred processing WSGI script ’/var/www/html/mysite/wsgi/django.wsgi’.[Fri Oct 17 21:19:18 2014] [error] [client 117.89.63.242] Traceback (most recent call last):[Fri Oct 17 21:19:18 2014] [error] [client 117.89.63.242] File '/var/www/html/mysite/wsgi/django.wsgi', line 3, in ?[Fri Oct 17 21:19:18 2014] [error] [client 117.89.63.242] import django.core.handlers.wsgi[Fri Oct 17 21:19:18 2014] [error] [client 117.89.63.242] ImportError: No module named django.core.handlers.wsgi
问题解答
回答1:不需要django.wsgi这个文件,把WSGIScriptAlias 指向mysite/wsgi.py
回答2:搞uwsgi,so的搞法完全是PHP的玩法,不够Nice。
相关文章:
1. javascript - JAVA写的H5页面能否解释一下流程2. javascript - fis3使用MD5但是如何引用?3. 网页爬虫 - python爬虫翻页问题,请问各位大神我这段代码怎样翻页,还有价格要登陆后才能看到,应该怎么解决4. css - 怎么实现一个圆点在一个范围内乱飞5. python 计算两个时间相差的分钟数,超过一天时计算不对6. angular.js - 输入邮箱地址之后, 如何使其自动在末尾添加分号?7. docker-compose中volumes的问题8. docker-machine添加一个已有的docker主机问题9. javascript - 使用form进行页面跳转,但是很慢,如何加一个Loading?10. javascript - 后台管理系统左侧折叠导航栏数据较多,怎么样直接通过搜索去定位到具体某一个菜单项位置,并展开当前菜单
