2012-04-08 57 views
0

IM安装​​的Django,WSGI Django的不工作

的测试WSGI是好的,但是当我指出我的默认文件Django的测试,它不工作,

这是正常工作的测试:

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

<VirtualHost *:80> 
    ServerName www.example.com 
    ServerAlias example.com 
    ServerAdmin [email protected] 
    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] 

,但如果我更改默认指向​​Django的测试, 它不工作:(

​​

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() 

我重新启动Apache服务器的每一次我改变WSGI测试,

那么我缺少什么?

非常感谢!

回答

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> 

添加您的项目的根文件夹中application_sa.wsgi到sys.path中还有:

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

关键的变化可能使区别在于sys.path的变化。 – 2012-04-08 05:45:36