将Django应用程序部署到Apache的问题

时间:2014-05-22 08:42:52

标签: python mysql django apache

我目前正在尝试将我的django应用程序部署到Apache进行生产。这是我的第一次。

我使用Python版本2.7,Django 1.6和virtualenvwrapper进行依赖关系管理。 我的系统是CentOS 6发行版。

运行时

./manage.py runserver

从我的virtualenv shell我没有遇到任何问题,一切正常。

通过Apache运行我收到以下错误:

ImproperlyConfigured: Error loading MySQLdb module: No module named MySQLdb

这让我觉得我在apache中的配置是不正确的(因为没有apache它可以正常工作)

我的httpd.conf文件中的配置如下:

WSGIScriptAlias / /opt/Webapp/smartrecruitment/wsgi.py
WSGIPythonPath /opt/Webapp:/opt/.virtualenvs/smart/lib/python2.7/site-packages
<Directory /opt/Webapp/smartrecruitment>
    <Files wsgi.py>
         Order deny,allow
         Allow from all
    </Files>
</Directory>

我按照https://docs.djangoproject.com/en/1.6/howto/deployment/wsgi/modwsgi/的说明进行部署。

非常感谢任何帮助

克里斯。

2 个答案:

答案 0 :(得分:0)

您应该在Apache配置中指定WSGIPythonHome。这将使你的virtualenv for app。

答案 1 :(得分:0)

事实证明,virtualenv设置存在问题。 要解决我需要的问题:

yum install mysql-python

但这是一个错误。

我必须:

yum install mysql-devel

这也有一个依赖性问题,只有在我卸载mysql并重新安装时才解决:

yum install mysql mysql-devel mysql-sever mysql-libs

在此之后它起作用了。