首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法使用mod-wsgi在Apache上部署django

无法使用mod-wsgi在Apache上部署django
EN

Stack Overflow用户
提问于 2014-09-30 00:55:44
回答 1查看 152关注 0票数 1

我一直在开发Django应用程序,我已经准备好转移到生产服务器了。我已经安装了Apache和mod_wsgi,我使用了一个测试来检查它是否都能工作,而且它确实有效。但是现在我很难让它和Django一起工作。

我已经创建了wsgi.py文件:

代码语言:javascript
复制
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上。然后,我把我的项目文件移过来了。但我想我搞错了所有的地图和画。有什么想法吗?我觉得离完成这件事还有一步之遥。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-09-30 02:19:04

我将分享如何配置一个简单的示例:

代码语言:javascript
复制
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指令中,必须有:

代码语言:javascript
复制
WSGIScriptAlias / /PATH/TO/YOUR/.wsgi

示例:

代码语言:javascript
复制
<VirtualHost *:80>
    ErrorLog /home/user/logs/error.log
    ...
    WSGIScriptAlias / /PATH/TO/YOUR/.wsgi
    ...
</VirtualHost>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26111122

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档