您的位置:首頁技術文章
文章詳情頁

centos - apache配置django報錯:cannot be loaded as Python modules

瀏覽:115日期:2022-06-25 15:48:34

問題描述

平臺: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。

標簽: Python 編程
相關文章:
国产综合久久一区二区三区