我目前正在尝试将我的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/的说明进行部署。
非常感谢任何帮助
克里斯。
答案 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
在此之后它起作用了。