Apache 2+mod_wsgi+WSGIScriptAlias

2024-03-28 13:42:57 发布

您现在位置:Python中文网/ 问答频道 /正文

我目前正在研究Python和Django是否适合我将要进行的项目(到目前为止看起来不错)。作为一种测试手段,我想让python运行在一个实际的服务器上(ubuntu上的apache2),使用mod_wsgi,但是我不能让它工作。这是我的httpd.conf(位于/etc/apache2/httpd.conf):

WSGIScriptAlias /test/tc-test/ /var/www/stage/hello/tc-test/django.wsgi
WSGIPythonPath /var/www/stage/test/tc-test/

<Directory /var/www/stage/test/tc-test>
<Files wsgi.py>
Order deny,allow
Allow from all
</Files>
</Directory>

我的django.wsgi如下所示:

import os
import sys

sys.path.append('/var/www/stage/test/tc-test')

os_environment['DJANGO_SETTINGS_MODULE'] = 'settings'

import django.core.handlers.wsgi

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

此目录的url将是http://stage.website.com/test/tc-test

奇怪的是,当我重新启动apache服务器时,我不断收到500个内部服务器错误。不仅仅是那个子目录,还有服务器上的所有其他子目录。我查看了apache错误日志,但是由于某种原因根本没有记录错误。我设法将罪魁祸首缩小到WSGIScriptAlias和WSGIPythonPath:当我删除这两个错误时,500个内部服务器错误消失,当我添加其中任何一个错误时,它们再次出现。我已经确认了mod_wsgi的工作原理,我正在查看的可能非常简单。我就是不知道是什么。有什么帮助吗?


Tags: djangotestimport服务器modwsgivarconf