Apache在EC2实例上提供Django项目 - 500内部服务器错误

时间:2013-11-15 22:41:47

标签: python django apache

我正在尝试在AWS上部署我的Django项目,并让Apache提供我的网页。我能够使用runserver部署网页,但我希望它成为一个生产服务器 - 我想使用Apache。我收到500 Internal Server error但不知道为什么。

在我的项目文件夹中,我有一个django.wsgi文件:

import os
import sys
sys.path.append('home/ubuntu/venv/hde_nate')
os.environ['DJANGO_SETTINGS_MODULE']='web.settings'
import django.core.handlers.wsgi
application=django.core.handlers.wsgi.WSGIHandler()

我的/etc/apache2/httpd.conf:

<Directory /home/ubuntu/venv/hde_nate/web>
Order allow, deny
Allow from all
</Directory>

WSGIScriptAlias / /home/ubuntu/venv/hde_nate/web/django.wsgi
alias /static /home/ubuntu/venv/hde_nate/web 

我有一个/etc/apache2/mods-enabled/django.conf,但我不确定这个文件是否必要:

WSGIScriptAlias / /home/ubuntu/venv/hde_nate/web/django.wsgi
alias /static /home/ubuntu/venv/hde_nate/web

要安装apache,我在linux框上使用了这些命令:

sudo apt-get install apache2 
sudo apt-get install python-setuptools libapache2-mod-wsgi

settings.py

DEBUG = FALSE
TEMPLATE_DEBUG = FALSE

编辑: 我的error.log:

[notice] caught SIGTERM, shutting down
[notice] Apache/2.2.22 (Ubuntu) mod_wsgi/3.3 Python/2.7.3 configured -- resuming normal operations

1 个答案:

答案 0 :(得分:0)

解决。将此添加到我的虚拟主机:

WSGIApplicationGroup %{GLOBAL}

http://code.google.com/p/modwsgi/wiki/ApplicationIssues#Python_Simplified_GIL_State_API