centos - apache配置django报错:cannot be loaded as Python modules
怪我咯
怪我咯 2017-04-25 09:01:21
0
2
918

平台:Centos5 ECS上的
django版本1.6
apache版本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 os
import sys
import django.core.handlers.wsgi

os.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
怪我咯
怪我咯

走同样的路,发现不同的人生

全部回复(2)
我想大声告诉你

不需要django.wsgi这个文件,把WSGIScriptAlias 指向mysite/wsgi.py

滿天的星座

搞uwsgi,so的搞法完全是PHP的玩法,不够Nice。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!