使用mod_wsgi在Apache上部署django应用程序

时间:2013-01-06 11:53:56

标签: python django apache mod-wsgi

我在使用mod_wsgi在Apache HTTP服务器上部署Django应用程序时遇到了一些问题。我已经向httpd.conf(WSGIScriptAlias)添加了信息,它指示带有测试内容的文件wsgi.py:

def application(environ, start_response):
    status = '200 OK'
    output = 'Hello World!'

    response_headers = [('Content-type', 'text/plain'),
                        ('Content-Length', str(len(output)))]
    start_response(status, response_headers)

    return [output]

当我运行时,一切似乎都没问题,因为我可以看到'Hello world!'。但是当我将文件wsgi.py更改为:

import os
import sys

os.environ['DJANGO_SETTINGS_MODULE'] = 'mysite.settings'

import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()

我有:

Internal Server Error

The server encountered an internal error or misconfiguration and was unable to complete your request.

wsgi.py文件与settings.py文件位于同一目录中...(我的所有应用程序都在子目录中:mydomain / public_html / hc / hc / hc / settings.py - hc是我的名字应用)

有什么不对?我该怎么办,让我的应用程序运作?如何找出导致错误的东西?

2 个答案:

答案 0 :(得分:1)

sys.path.append('path_to_python_dir')
sys.path.append('path_to_project')

将这些行添加到wsgi.py文件中。

settings.py中的问题也会导致500错误。

答案 1 :(得分:0)

我自己解决了我的问题 添加这个帮助我(进口后):

sys.path.append('path_to_project')
sys.path.append('path_to_wsgi_py_file')