[Django 1.5] Windows + Apache + wsgi配置
基本步骤
- 下载安装Apache http://httpd.apache.org/download.cgi。
- 配置 Apache httpd.conf 文件:
添加配置文件路径到文件里
LoadModule wsgi_module modules/mod_wsgi-win32-ap22py27-3.3.so
配置wsgi 文件:
WSGIScriptAlias / "C:/Aptana Studio 3 Workspace/MyProjet/mysite/src/mysite/wsgi.py" (wsgi文件路径,即需要Apache加载的Django项目的wsgi文件路径)
WSGIPythonPath "C:/Aptana Studio 3 Workspace/MyProjet/mysite/src"(wsgi文件夹路径)
文件夹权限:
<Directory />
Options None
AllowOverride None
Order allow,deny
Allow from all
</Directory>
<Directory "C:/Aptana Studio 3 Workspace/MyProjet/mysite/src">
<Files wsgi.py>
Order deny,allow
Allow from all
</Files>
</Directory>
Admin 静态文件加载:
Alias "/static" "C:/Python27/Lib/site-packages/django/contrib/admin/static/"
<Location "C:/Python27/Lib/site-packages/django/contrib/admin/static">
Options None
AllowOverride None
Order allow,deny
Allow from all
</Location>
问题分析与调试:
由于Django在配置到apache服务器上的时候,官方网站并不建议把静态文件的加载工作拿给Django去做,而是交给服务器去完成。所以直接配置Django到服务器上之后会遇到css样式无法加载的问题。
在配置Django 到Apache 服务器上的时候,由于只是从网上生搬硬套,没有去认真分析Apache的语法和配置原理,导致一直出错。所有静态文件(css,js库,img)都参照此配置方法配置。
下面以加载admin的CSS样式为例:
Alias 语法
:
参考:http://apache.jz123.cn/mod/mod_alias.html#alias
Alisa 第一个参数是访问网站的URL路径
,比如如下配置:
Alias "/static" "C:/Python27/Lib/site-packages/django/contrib/admin/static/"
<Location "C:/Python27/Lib/site-packages/django/contrib/admin/static">
Options Indexes
AllowOverride None
Order allow,deny
Allow from all
</Location>
此处URL的根目录不是访问网站的根目录(例如127.0.0.1),而是访问页面的相对目录
比如:访问127.0.0.1/admin加载页面
<link rel="stylesheet" type="text/css" href="/static/admin/css/base.css" />
<link rel="stylesheet" type="text/css" href="/static/admin/css/login.css" />
此处URL根目录是映射当前页面相对路径根目录,所以"/static"映射的是 "C:/Python27/Lib/site-packages/django/contrib/admin/static/"
配置到此处之后访问仍然会有"403 Forbidden"的错误,原来是对RUL根目录权限设置问题:
Order allow,deny
Deny from All
</Directory>
改成:
<Directory />
Order allow,deny
Allow from All
</Directory>
OK了
Django - syncdb causes error: "DatabaseError: no such table: django_site"
solution:
http://stackoverflow.com/questions/3631556/django-no-such-table-django-session
总结这次调试:解决问题不能急于求成,简单粗暴的方法可能只会欲速则不达。
[Django 1.5] Windows + Apache + wsgi配置的更多相关文章
- Windows+Apache+PHP5配置
今天配置Windows+Apache+PHP时,遇到的问题,记录下供大家参考,也供自己以后参考!需要特别注意的:PHP v9版本的 非线程安全的 只适用于IIS,5.3版本的NTS版的没有php5ap ...
- Windows + Apache + WSGI 部署Django
注意Python Apache和mod_wagi的版本要一致哦 1.安装Apache服务器(下载后,解压即可,目录不能有中文) 2.安装mod_wsgi (pip install 它的路径) 3.打开 ...
- Django + Apache + wsgi配置和环境搭建(ubuntu)
上一篇写了Django + nginx + uwsgi配置和环境搭建(ubuntu) 由于公司服务器环境问题,又配置了apache的环境.记录例如以下: 一. 安装环境: #apache sudo a ...
- Apache https 配置指南
Windows Apache HTTPS配置创建下面3个目录: C:\Program Files\Apache Group\Apache2\conf\sslC:\Program Files\Apach ...
- Windows+Apache+Python+Django 踩坑记录
摘要 使用Python进行Web项目开发:相对于主流三大Web端解决方案(Java/.NET/PHP) Python在某些方面具有一定的优势,相对 Java/.NET 有更轻量级的部署方案,相对PHP ...
- APACHE 在windows下的配置
目前apache在windows下只支持到2.2 所以php必须下载相应的线程安全的 然后打开apache的配置页面 listen directory 和 load_module修改 httpd -k ...
- PHP-5.5.10+Apache httpd-2.4.9在Windows系统下配置实战
原文 PHP-5.5.10+Apache httpd-2.4.9在Windows系统下配置实战 环境配置: 程序准备: PHP windows版本下载地址: http://windows.php. ...
- windows Apache 环境下配置支持HTTPS的SSL证书
windows Apache 环境下配置支持HTTPS的SSL证书 1.准备工作 1)在设置Apache + SSL之前, 需要做: 安装Apache, 下载安装Apache时请下载带有SSL版本的A ...
- Windows Apache(ApacheHaus)安装配置教程
1,Apache下载 选择一个版本,点击Download 点击File For Microsoft Windows 由于Apache HTTP Server官方不提供二进制(可执行)的发行版,所以我们 ...
随机推荐
- javascript事件委托和jQuery事件绑定on、off 和one
一. 事件委托什么是事件委托?用现实中的理解就是:有100 个学生同时在某天中午收到快递,但这100 个学生不可能同时站在学校门口等,那么都会委托门卫去收取,然后再逐个交给学生.而在jQuery 中, ...
- sublime 控制台输入解决方案
下面的配置是通过konsole控制台自带的参数解决了sublime不能输入的问题,这种方式适合任何一种语言 { "cmd": ["konsole"," ...
- bash 变量使用技巧
- nginx的请求接收流程(一)
今年我们组计划写一本nginx模块开发以及原理解析方面的书,整本书是以open book的形式在网上会定时的更新,网址为http://tengine.taobao.org/book/index.htm ...
- 类加载器子系统——JVM之四
一.类加载器基本概念 顾名思义,类加载器(class loader)用来加载 Java 类到 Java 虚拟机中.一般来说,Java 虚拟机使用 Java 类的方式如下:Java 源程序(.java ...
- ZigBee物理层协议规范
在不同的国家和地区,ZigBee技术所允许使用的工作频率是不同的,而对于不同的应用频率范围,其调制方式.传输速率均不同,众所周知,蓝牙技术在世界多数国家都采用统一的频率范围,其范围为2.4GHz的IS ...
- C#正则表达式匹配任意字符
原文:C#正则表达式匹配任意字符 不得不说正则很强大,尤其在字符串搜索上 匹配任意字符,包括汉字,换行符: [\s\S]*. 版权声明:本文为博主原创文章,未经博主允许不得转载.
- JavaScript实现私有属性
原文:JavaScript实现私有属性 JavaScript被很多人认为并不是一种面向对象语言,原因有很多种,比如JavaScript没有类,不能提供传统的类式继承:再比如JavaScript不能实现 ...
- 折腾Python中的Tkinter
折腾Python中的Tkinter 从oschina看到了关于Python的Tkinter简介: Tk图形用户界面 Tkinter 又从Python官网文档: Tkinter — Python int ...
- 在PHP中处理表单之—Checkbox
原文翻译自:http://www.html-form-guide.com/php-form/php-form-checkbox.html 单个checkbox 形如: <form action ...