Windows下配置Django 1.6+apache+mod_wsgi

本文详细介绍如何在Windows环境下配置Django1.6与Apache服务器的整合,包括使用mod_wsgi进行部署的具体步骤,以及常见错误排查技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近想学Django,搭建环境就花了我整整两天时间。

网上很多教程,但由于Django的版本对不上,所以会有很多bug。

这里特别点明我用的版本是Django 1.6,Python2.7,Apache2.2。希望没有误导到大家。

检查Django版本:

import django 
django.VERSION

Django 1.6下载地址 https://www.djangoproject.com/download/1.6.5/tarball/

解压缩后在cmd进入到django目录,输入python setup.py install即可


一、用Django新建一个网站

我们打开cmd,到E:/website/目录

输入django-admin.py startproject myweb

创建一个新的名为myweb的工程

进入myweb目录,运行python manage.py runserver

(这个是Django自带的小型服务器,用于调试)

然后登录127.0.0.1:8000,发现工程创建成功。


然后ctrl+break退出。下面我们将这个网页配置到apache上。


二、配置Django文件

Django配置apache有mod_python和mod_wsgi两个方法,不过前者已经不再更新。

现在主要是用mod_wsgi来配置apache。

Django1.6已经默认支持mod_wsgi,我们生成一个新的django工程,里面会有一个wsgi.py文件

(在E:/website/myweb/myweb目录,内容如下)。

这个是Django较新版本才有的特性,它给我们配置mod_wsgi+apache带来很大的方便。

我们要在wsgi.py文件里加上一行sys.path.append(r'E:/website/myweb/'),否则会出bug。

"""
WSGI config for myweb project.

It exposes the WSGI callable as a module-level variable named ``application``.

For more information on this file, see
https://docs.djangoproject.com/en/dev/howto/deployment/wsgi/
"""

import os,sys
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "myweb.settings")
sys.path.append(r'E:/website/myweb/') #Django创建wsgi.py的时候没有这句话,我们必须自己加上
from django.core.wsgi import get_wsgi_application
application = get_wsgi_application()


三、配置apache和wsgi

mod_wsgi的下载地址:

http://www.lfd.uci.edu/~gohlke/pythonlibs/#mod_wsgi

下载到的mod_wsgi.so复制到apache安装目录下的modules目录


然后打开apache安装目录的conf文件夹,打开httpd.conf文件

1、找到LoadModule那一段,添加:

LoadModule wsgi_module modules/mod_wsgi.so
WSGIScriptAlias / "E:/website/myweb/myweb/wsgi.py"  

2、找到Directory的配置区域,添加如下的一段配置:

<Directory "E:/website/myweb/">
Order deny,allow
allow from all
</Directory>


所有的配置都已完成。

这时只要重启apache服务器,登录127.0.0.1(不是127.0.0.1:8000)


可见我们成功地把网站配置到apache。

配置成功后,重启apache相当于我们在命令行python manage.py runserver。

平时调试的时候可能后者更方便,不过如果我们要架设大型网站,最后还是要用apache。所以还是建议初学者学习一下怎么配置Django到apache。


最后是一些debug的经验:

配置Django+apache+mod_wsgi出现Internal Server Error

如果是按照本文配置的,多半是因为没有修改默认的wsgi.py文件

我们只要在wsgi.py前面加上一句sys.path.append(r'E:/website/myweb/')

希望这篇博客能给初学Django1.8的人一点帮助!

参考文献:

将django部署到Apache服务器


评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值