我一直在研究Django应用程序,我已准备好转移到生产服务器。我安装了Apache和mod_wsgi,并且我使用了一个测试来检查它是否一切正常,而且确实如此。但是现在我在使用Django时遇到了问题。
我创建了wsgi.py文件:
import os
import os.path
import sys
sys.path.append('/var/www/html/mideastinfo/lib/python2.7/site-packages/django/bin/mideastinfo')
#os.environ['PYTHON_EGG_CACHE'] = 'path to a directory for egg cache'
os.environ['DJANGO_SETTINGS_MODULE'] = 'mideastinfo.settings'
import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandlers()
我有http.conf通过WGSIScriptAlias指向它。它不工作,我知道它与sys.path有关,我不知道该怎么做。
我有一个开发环境,我在其中完成了所有构建。然后,我将所有项目依赖项安装到服务器用户pip和requirements.txt上。然后,我移动了我的项目文件。但我认为我得到了所有的映射和路径错误。有任何想法吗?我觉得我距离完成这一步还有一步之遥。
答案 0 :(得分:0)
我将分享我如何配置一个简单的例子:
import os,sys
apache_configuration = os.path.dirname(__file__)
project = os.path.dirname(apache_configuration)
workspace = os.path.dirname(project)
sys.path.append(workspace)
sys.path.append('PATH TO YOUR PROJECT ROOT')
os.environ['DJANGO_SETTINGS_MODULE'] = 'mideastinfo.settings'
import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()
在Apache配置上的VirtualHost指令中,您必须具有:
WSGIScriptAlias / /PATH/TO/YOUR/.wsgi
示例:
<VirtualHost *:80>
ErrorLog /home/user/logs/error.log
...
WSGIScriptAlias / /PATH/TO/YOUR/.wsgi
...
</VirtualHost>