Windows 7中将Django部署到Apache Web Server

Django 提供了通用Web开发模式的高度抽象,提供了频繁进行的编程作业的快速解决方法,以及为“如何解决问题”提供了清晰明了的约定。同时,Django 尝试留下一些方法,来让你根据需要在framework之外来开发。
本质上来说, Django 只不过是用 Python 编写的一组类库。用 Django 开发站点就是使用这些类库编写 Python 代码。因此,学习 Django 的关键就是学习如何进行 Python 编程并理解 Django 类库的运作方式。
如果你有Python开发经验,在学习过程中应该不会有任何问题,基本上,Django的代码并 没有使用一些黑色魔法(例如代码中的欺骗行为,某个实现解释或者理解起来十分困难)。 对你来说,学习Django就是学习她的命名规则和API。
配置思路
1、配置apache的httpd.conf文件
2、配置django相关配置文件
配置过程
其实配置生效针对不同的环境有不同的细节需要处理,网上的方案(包括本篇)都不是一定通用的,只是在某种环境下有效,但总体思路就是配置上述提及的两个配置文件。
部署django项目常用的两个方式是使用mod_python和mod_wsgi两种部署方式,这里我使用的是mod_wsgi。
1、先去网上下载个名叫这个的东西:mod_wsgi-3.4.ap22.win32-py2.7,里面有个文件是mod_wsgi.so,然后把这个copy到apache安装目录的modules文件下(默认安装目录是:C:/Program Files (x86)/Apache Software Foundation/Apache2.2/modules)
下面两个配置中涉及路径的很容易搞错,如果是绝对路径的话要检查自己是否正确。
2、在Django项目更目录下新建两个文件:
django.wsgi:
#coding=utf-8
import os
import sys
import django.core.handlers.wsgi
os.environ['DJANGO_SETTINGS_MODULE'] = 'appops.settings'
app_apth = "D:/OPSAPP/appops"
sys.path.append(app_apth)
application = django.core.handlers.wsgi.WSGIHandler()
apache_django_wsgi.conf:
#Alias / D:/OPSAPP/appops
Alias /favicon.jpg D:/OPSAPP/appops/static/images/favicon.jpg
#WSGIScriptAlias /api "D:/OPSAPP/appops/appapi/handler.py" #注意,这里在httpd.conf中写过的话这里就不用写了。
WSGIScriptAlias / "D:/OPSAPP/django.wsgi"
WSGIPassAuthorization On
<Directory "D:/OPSAPP/appops/appops">
Order Deny,Allow
Allow from all
</Directory>
Alias /static/ D:/OPSAPP/appops/static/
<Directory D:/OPSAPP/appops/static/ >
Order deny,allow
Allow from all
IndexOptions FancyIndexing
</Directory>
<Directory D:/OPSAPP/appops/ >
Order deny,allow
Allow from all
IndexOptions FancyIndexing
</Directory>
<Directory "D:/OPSAPP">
Allow from all
</Directory>
目录结构如下:
3、编辑apache的配置文件httpd.conf(C:/Program Files (x86)/Apache Software Foundation/Apache2.2/conf/httpd.conf)
中间加上一句:
LoadModule wsgi_module modules/mod_wsgi.so
文件结尾新增下列配置:
Alias /static D:/OPSAPP/appops/static #这是为了可以通过url来访问static文件
<Location "/static/">
SetHandler None
</Location><br>

<VirtualHost *:80> #配置虚拟目录
ServerName app.ops.test.com
#ServerName 192.168.18.74

DocumentRoot D:/OPSAPP
WSGIScriptAlias / D:/OPSAPP/django.wsgi

<Directory />
Order deny,allow
Allow from all
</Directory>
<Directory /apache>
Allow from all
</Directory>
</VirtualHost>

<Directory "D:/OPSAPP/appops/static/"> #这个一定需要,不然网页样式错误,css没有起作用
Order Deny,Allow
Allow from all
</Directory>
重启下apache服务基本就OK了。
常见错误
访问失败时的错误会记录在apache日志里(C:/Program Files (x86)/Apache Software Foundation/Apache2.2/logs),
1、静态资源不能访问,如css样式错乱等,需要在httpd.conf文件里增加配置:
<Directory D:/OPSAPP/appops/static/ >
Order deny,allow
Allow from all
IndexOptions FancyIndexing
</Directory>
2、出现找不到模块的错,如no module named XXX等,主要有两个原因:
1)、路径错了
2)、文件命名跟Django或python内部模块冲突了

(0)

相关推荐

  • Linux下将Python的Django项目部署到Apache服务器

    这几天花了点时间,将把django开发好的web项目部署到Apache上,参考了官方的一些文档和互联网上的文档,还是花了比较多的时间,这里把配置的过程说一下. 方便有需要的朋友,可以参考,少走弯路! ...

  • windows下安装Django

    Django是一个开放源代码的Web应用框架,由Python写成.采用了MVC的软件设计模式,即模型M,视图V和控制器C.它最初是被开发来用于管理劳伦斯出版集团旗下的一些以新闻内容为主的网站的,即是C ...

  • Apache Web服务器.htaccess文件配置

    htAccess是Apache服务器的一个配置文件,具有强大的功能,本文介绍如何编辑该文件,让网站实现封锁某国家IP网段、防止图片、文件盗链、保护主机下的目录与文件、创建自定义的出错页面、把某些特殊的 ...

  • 在Windows系统下怎么部署PHP网站运行环境?

    这篇教程是向脚本之家的朋友介绍在Windows系统下怎么部署PHP网站运行环境方法,教程真的很不错,适合PHP网站技术开发人员,推荐过来,一起来学习吧! 开源意味着Bug会暴露给所有人,也会促进悟空C ...

  • 怎么在Windows 10中将计算机不活动限制取消设置

    有的小伙伴在使用Windows10系统的电脑时,为了使自己的活动不受限制,因此想要取消设置计算机不活动限制,但是却不知道如何取消设置,那么小编就来为大家介绍一下吧.具体如下:1. 第一步,点击桌面左下 ...

  • 如何在Windows 系统中将内置域控组策略计算机网络访问保护编辑

    有的小伙伴在使用Windows Server 2012 R2系统的电脑时,遇到了一些关于域控组策略计算机网络访问保护的问题,因此需要编辑内置域控组策略计算机网络访问保护,但是却不知道如何编辑,那么小编 ...

  • windows下如何安装与配置Apache服务

    在PHP网站的服务器搭建时,Apache服务是其必备的构架,为了使更多的新手能够快速的进行其安装与配置成功,在此与大家一起分享 操作方法 01 运行下载好的"apache_2.0.55-wi ...

  • Jexus Web Server完整图文配置教程

    Jexus是一款运行于linux、freeBSD等平台的以支持ASP.NET/PHP为主要特征的高性能WEB服务器。 JexusV5.0有如下功能特点:1、支持ASP.NET。这是Jexus的核心功能 ...

  • window7环境下安装apache http server

    window7环境下安装apache http server window7 环境下安装apache http server 会遇到如下错误提示: 原因是软件安装时与windows7的“用户账户控制” ...