我正试图在centos 6.3服务器中设置一个Python2.7+Django+virtualenv+mod_chGi环境,通过apache运行我的python应用程序。 但是我在尝试通过apache访问应用程序时遇到了内部错误。错误日志显示以下内容。在
==========
[Fri Nov 15 04:20:30 2013] [error] [client 117.201.194.54] mod_wsgi (pid=20361): Target WSGI script '/var/www/html/djangosites/spark.wsgi' cannot be loaded as Python module.
[Fri Nov 15 04:20:30 2013] [error] [client 117.201.194.54] mod_wsgi (pid=20361): Exception occurred processing WSGI script '/var/www/html/djangosites/spark.wsgi'.
Fri Nov 15 04:20:30 2013] [error] [client 117.201.194.54] ImproperlyConfigured: Requested setting DEBUG, but settings are not configured. You must either define the environment variable DJANGO_SETTINGS_MODULE or call settings.configure() before accessing settings.
==========
当作为测试服务器运行时,它可以正常工作。在
======
^{pr2}$===
在火花.wsgi文件如下所示。在
==========
import sys
import site
import os
vepath = '/var/www/html/virtualenv/lib/python2.7/site-packages'
prev_sys_path = list(sys.path)
site.addsitedir(vepath)
sys.path.append('/var/www/html/djangosites')
new_sys_path = [p for p in sys.path if p not in prev_sys_path]
for item in new_sys_path:
sys.path.remove(item)
sys.path[:0] = new_sys_path
from django.core.handlers.wsgi import WSGIHandler
os.environ['DJANGO_SETTINGS_MODULE'] = 'spark.settings'
application = WSGIHandler()
=============
apacheconf中wsgi的条目如下所示
==========
[root@lampserver djangosites]# cat /etc/httpd/conf.d/django.conf
LoadModule wsgi_module modules/mod_wsgi.so
AddHandler wsgi-script .wsgi
WSGIScriptAlias / /var/www/html/djangosites/spark.wsgi
WSGIDaemonProcess spark processes=5 threads=15 display-name=%{GROUP}
WSGIProcessGroup spark
WSGIApplicationGroup %{GLOBAL}
WSGISocketPrefix /var/run/wsgi
==============
Apache以用户“Apache”的身份运行。在
我的项目文件和权限如下所示。在
==========
root@lampserver djangosites]# pwd
var/www/html/djangosites
[root@lampserver djangosites]# ls
spark spark.wsgi
[root@lampserver djangosites]# ll
total 8
drwxr-xr-x 3 apache apache 4096 Nov 15 02:38 spark
-rwxrwxrwx 1 apache apache 535 Nov 15 03:16 spark.wsgi
[root@lampserver djangosites]# cd spark/
manage.py spark/
[root@lampserver spark]# ll
total 8
-rwxr-xr-x 1 apache apache 248 Nov 15 02:38 manage.py
drwxr-xr-x 2 apache apache 4096 Nov 15 03:05 spark
[root@lampserver spark]# cd spark/
[root@lampserver spark]# ll
total 28
-rw-r--r-- 1 apache apache 0 Nov 15 02:38 __init__.py
-rw-r--r-- 1 apache apache 136 Nov 15 02:40 __init__.pyc
-rw-r--r-- 1 apache apache 1969 Nov 15 02:38 settings.py
-rw-r--r-- 1 apache apache 2142 Nov 15 02:40 settings.pyc
-rw-r--r-- 1 apache apache 296 Nov 15 02:38 urls.py
-rw-r--r-- 1 apache apache 416 Nov 15 02:40 urls.pyc
-rwxr-xr-x 1 apache apache 385 Nov 15 02:38 wsgi.py
-rw-r--r-- 1 apache apache 589 Nov 15 02:40 wsgi.pyc
=================
有谁能指出我的设置有问题吗?在
问候
将此行添加到
spark.wsgi
文件:因为您的django站点位于该目录中
您是否可以尝试用更简单的方法来更改您的wsgi,例如:
也许这有助于更容易地发现问题
还可以使用默认的wsgi文件(
^{pr2}$spark/wsgi.py
)而不是spark.wsgi
,当然可以通过更改apache配置文件中的WSGIScriptAlias
指令来实现。下面是一个带有站点设置的简单apache配置文件的示例,测试一下,让我知道:相关问题 更多 >
编程相关推荐