2012-02-06 77 views
4

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

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正在工作,它可能很简单,我正在查看。我无法找出什么。对此有何帮助?

+0

对于你引用'django.wsgi'和'wsgi.py'的初学者......这是什么? – 2012-02-06 12:29:31

+0

嗯,好点。我使用的当前文件是django.wsgi – psgels 2012-02-06 12:30:57

+0

您还需要确保apache具有适当的权限。请教你的apache错误日志。 – 2012-02-06 12:34:14

回答

8

尝试:

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

你不应该在第一个参数斜线。

+2

也许不是OP的答案,但似乎是_my_问题。谢谢 :) – 2013-04-24 10:41:48