我目前正在研究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正在工作,它可能很简单,我正在查看。我无法找出什么。对此有何帮助?
对于你引用'django.wsgi'和'wsgi.py'的初学者......这是什么? – 2012-02-06 12:29:31
嗯,好点。我使用的当前文件是django.wsgi – psgels 2012-02-06 12:30:57
您还需要确保apache具有适当的权限。请教你的apache错误日志。 – 2012-02-06 12:34:14