利用apache+wsgi运行你的django网站 - [开发]
来源:互联网 发布:施工企业会计软件 编辑:程序博客网 时间:2024/05/22 13:04
利用apache+wsgi运行你的django网站 - [开发]
2010-09-18 | Tag:DjangoPython
版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明
http://open-idea.blogbus.com/logs/75217788.html
WSGI和mod_wsgi是python web hosting技术中正在冉冉升起的一颗新星。Django对WSGI的支持相当完整,越来越多的Django程序员尝试使用它
虽然WSGI技术还相当新,但是它已经能够在绝大多数服务器上工作,并且已经经历了大量Python Web框架的测试,包括Django和一些流行的独立Python Web应用
废话不多说,下面我来介绍下,如何利用apache和wsgi来让你的django程序跑起来:)
我的环境是(K)ubuntu 10.04,其他环境应该类似,只是我没有做过测试。
第一步:
首先肯定是安装mod_wsgi,很多系统的软件源已经包含,如果这样只需要用你的软件管理器安装一下即可(ubuntu下是 libapache2-mod-wsgi)。如果你的软件源没有包含,那请你去官网上去自行下载源代码或编译好的二进制包
第二步:
安装其实还是很简单,配置才是重点。配置主要分两步:1让Apache加载wsgi模块;2让wsgi管理你的网站
1让pache加载wsgi模块:
如果是用软件管理器安装的,多数情况下已经加载了wsgi模块了,你可以自行确认下(ubuntu下是 /etc/apache2/mods-enabled/ 建立了两个文件链接: wsgi.load和wsgi.conf)。
如果没有默认加载,就在Apache的配置文件中加上一行类似于下面的语句:
LoadModule wsgi_module /usr/lib/apache2/modules/mod_wsgi.so
以上mod_wsgi.so路径请视你的具体情况确定
2让wsgi接管你的网站
现在我们假设你的网站网址是:http://example.com
但是并不是整个网站都是用django开发的,只是根站点下面的”foo“部分,即:http://example.com/foo(包括http://example.com/foo/*)
下面就开始配置:
1)首先,需要在你的django项目目录下建一个mod.wsgi的文件
比如你的django项目foo 存放地址为 /var/www/foo,那就建一个/var/www/foo/mod.wsgi
mod.wsgi的内容如下(不包括"***mod.wsgi***"):
***mod.wsgi***
import os, sys
sys.path.append('/var/www')
os.environ['DJANGO_SETTINGS_MODULE'] = 'foo.settings'
import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()
***mod.wsgi***
2)修改你的Apache配置文件
在configuration块里加上:
***apache.conf****
Alias /foo/media/ /var/www/foo/media/
<Directory /var/www/foo>
AllowOverride All
Order allow,deny
Allow from all
</Directory>
<Directory /var/www/foo/media>
Order deny,allow
Allow from all
SetHandler none
</Directory>
WSGIScriptAlias /foo /var/www/foo/mod.wsgi
***apache.conf****
其中我假设你的静态文件夹(比如存放css,图片什么东西的地方)为media
现在,重启下apache,应该就大功搞成了!
enjoy your programming :-)
- 利用apache+wsgi运行你的django网站 - [开发]
- 配置django运行环境(apache+wsgi)
- apache+wsgi+django配置的存档
- Apache+WSGI+Django+Python的服务器部署
- 【Django开发】阿里云服务器+apache+django部署你的网站
- mac+apache+django+wsgi
- 部署django+apache wsgi
- 小白装django+apache+wsgi+mysql
- Mac Apache Django WSGI 部署
- apache服务器使用wsgi部署django站点
- Linux环境Apache+Django+wsgi配置
- Ubuntu中Apache,Django,wsgi环境搭建
- Django 多数据库 + mysql + wsgi + apache
- Django+Apache 报 [wsgi:error]问题解决
- Ubuntu 16.04中 Django + apache + wsgi 配置
- Django+Apache 报 [wsgi:error]问题解决
- WSgi+Django+websocket的实现
- 通过django-wsgi部署在apache上碰到的问题和解决方法
- 2011-10-18 日志
- make: *** [out/host/linux-x86/obj/EXECUTABLES/adb_intermediates/adb]
- android基础--把文件存放在SDCard
- 《RAIDExpert阵列恢复专家 V2.3.25专业版》
- 利用Kinect的手势操作来管理银行账户
- 利用apache+wsgi运行你的django网站 - [开发]
- 掌握DirectX和DirectInput—力反馈游戏杆(1)
- C语言中变量的本质
- 设置outlook 2007登录密码【转】
- C++虚函数表解析(转) ——写的真不错 (转)
- android基础--使用Pull解析器生成XML文件
- 掌握DirectX和DirectInput—力反馈游戏杆 (2)
- oracle存储过程---游标篇
- android基础--使用嵌入式关系型SQLite数据库存储数据