wsgi django不工作

时间:2012-04-08 05:24:07

标签: python django wsgi

即时安装django,

wsgi的测试没问题,但是当我将我的默认文件指向django测试时,它无法正常工作,

这是可行的测试:

默认:/etc/apache2/sites-available/default

<VirtualHost *:80>
    ServerName www.example.com
    ServerAlias example.com
    ServerAdmin webmaster@example.com
    DocumentRoot /var/www

    <Directory /var/www/documents>
    Order allow,deny
    Allow from all
    </Directory>
    WSGIScriptAlias / /home/ubuntu/djangoProj/micopiloto/application.wsgi
    <Directory /home/ubuntu/djangoProj/mysitio/wsgi_handler.py>
    Order allow,deny
    Allow from all
    </Directory> 
</VirtualHost>

application.wsgi :: ~/djangoProj/micopiloto

import os 
import sys 

sys.path.append('/srv/www/cucus/application') 
os.environ['PYTHON_EGG_CACHE'] = '/srv/www/cucus/.python-egg' 

def application(environ, 
start_response):

     status = '200 OK'

     output = 'Hello World!MK SS9 tkt kkk'

     response_headers = [('Content-type', 'text/plain'),

                                     ('Content-Length', str(len(output)))]

     start_response(status, response_headers)


     return [output]

但如果我将默认值更改为指向application_sa.wsgi django测试, 它不起作用:(

application_sa.wsgi

import os, sys

sys.path.append('/home/ubuntu/djangoProj/micopiloto') 


os.environ['DJANGO_SETTINGS_MODULE'] = 'micopiloto.settings'
import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()

每当我将wsgi更改为test,

时,我都会重启apache服务器

所以我错过了什么?

非常感谢!

1 个答案:

答案 0 :(得分:1)

尝试将您的apache配置更改为以下内容:

AddHandler wsgi-script .wsgi

WSGISocketPrefix /var/run/wsgi
WSGIRestrictEmbedded On

<VirtualHost *:80>
    ServerName www.mydomain.com

    WSGIDaemonProcess myprocess processes=2 threads=15
    WSGIProcessGroup myprocess

    WSGIScriptAlias / /home/ubuntu/djangoProj/micopiloto/application_sa.wsgi
</VirtualHost>

然后将项目的根文件夹添加到sys.path以及application_sa.wsgi:

sys.path.append('/home/ubuntu/djangoProj') 
sys.path.append('/home/ubuntu/djangoProj/micopiloto')