简单的Apache+FastCGI+Django配置指南


Posted in Python onJuly 22, 2015

在Apache和FastCGI上使用Django,你需要安装和配置Apache,并且安装mod_fastcgi。 请参见Apache和mod_fastcgi文档: http://www.djangoproject.com/r/mod_fastcgi/ 。

当完成了安装,通过 httpd.conf (Apache的配置文件)来让Apache和Django FastCGI互相通信。 你需要做两件事:

  •     使用 FastCGIExternalServer 指明FastCGI的位置。
  •     使用 mod_rewrite 为FastCGI指定合适的URL。

指定 FastCGI Server 的位置

FastCGIExternalServer 告诉Apache如何找到FastCGI服务器。 按照FastCGIExternalServer 文档( http://www.djangoproject.com/r/mod_fastcgi/FastCGIExternalServer/ ),你可以指明 socket 或者 host 。以下是两个例子:

# Connect to FastCGI via a socket/named pipe:
FastCGIExternalServer /home/user/public_html/mysite.fcgi -socket /home/user/mysite.sock

# Connect to FastCGI via a TCP host/port:
FastCGIExternalServer /home/user/public_html/mysite.fcgi -host 127.0.0.1:3033

在这两个例子中, /home/user/public_html/ 目录必须存在,而 /home/user/public_html/mysite.fcgi 文件不一定存在。 它仅仅是一个Web服务器内部使用的接口,这个URL决定了对于哪些URL的请求会被FastCGI处理(下一部分详细讨论)。 (下一章将会有更多有关于此的介绍)
使用mod_rewrite为FastCGI指定URL

第二步是告诉Apache为符合一定模式的URL使用FastCGI。 为了实现这一点,请使用mod_rewrite 模块,并将这些URL重定向到 mysite.fcgi (或者正如在前文中描述的那样,使用任何在 FastCGIExternalServer 指定的内容)。

在这个例子里面,我们告诉Apache使用FastCGI来处理那些在文件系统上不提供文件

<VirtualHost 12.34.56.78>
 ServerName example.com
 DocumentRoot /home/user/public_html
 Alias /media /home/user/python/django/contrib/admin/media
 RewriteEngine On
 RewriteRule ^/(media.*)$ /$1 [QSA,L]
 RewriteCond %{REQUEST_FILENAME} !-f
 RewriteRule ^/(.*)$ /mysite.fcgi/$1 [QSA,L]
</VirtualHost>

Python 相关文章推荐
Python中生成器和yield语句的用法详解
Apr 17 Python
在Python中处理XML的教程
Apr 29 Python
机器学习python实战之决策树
Nov 01 Python
Python中join函数简单代码示例
Jan 09 Python
Windows下的Jupyter Notebook 安装与自定义启动(图文详解)
Feb 21 Python
Python使用__new__()方法为对象分配内存及返回对象的引用示例
Sep 20 Python
Python图像处理库PIL的ImageDraw模块介绍详解
Feb 26 Python
如何在Django中使用聚合的实现示例
Mar 23 Python
Python decimal模块使用方法详解
Jun 08 Python
Python文件夹批处理操作代码实例
Jul 21 Python
Python中pass的作用与使用教程
Nov 13 Python
用python开发一款操作MySQL的小工具
May 12 Python
使用FastCGI部署Python的Django应用的教程
Jul 22 #Python
使用相同的Apache实例来运行Django和Media文件
Jul 22 #Python
在Apache服务器上同时运行多个Django程序的方法
Jul 22 #Python
通过mod_python配置运行在Apache上的Django框架
Jul 22 #Python
在Django中同时使用多个配置文件的方法
Jul 22 #Python
在Python的Django框架中编写错误提示页面
Jul 22 #Python
详解Django通用视图中的函数包装
Jul 21 #Python
You might like
网络资源
2006/10/09 PHP
在php MYSQL中插入当前时间
2008/04/06 PHP
PHP 数组和字符串互相转换实现方法
2013/03/26 PHP
Yii 框架使用数据库(databases)的方法示例
2020/05/19 PHP
form中限制文本字节数js代码
2007/06/10 Javascript
js Math 对象的方法
2013/09/01 Javascript
一个JavaScript获取元素当前高度的实例
2014/10/29 Javascript
javascript中函数作为参数调用的方法
2015/02/09 Javascript
jQuery实现大转盘抽奖活动仿QQ音乐代码分享
2015/08/21 Javascript
jQuery+Ajax实现无刷新分页
2015/10/30 Javascript
使用getBoundingClientRect方法实现简洁的sticky组件的方法
2016/03/22 Javascript
有关JavaScript中call()和apply() 的一些理解
2016/05/20 Javascript
Bootstrap CSS布局之表单
2016/12/17 Javascript
微信小程序 页面传值详解
2017/03/10 Javascript
js学使用setTimeout实现轮循动画
2017/07/17 Javascript
webpack处理 css\less\sass 样式的方法
2017/08/21 Javascript
bootstrap paginator分页插件的两种使用方式实例详解
2017/11/14 Javascript
使用vue官方提供的模板vue-cli搭建一个helloWorld案例分析
2018/01/16 Javascript
关于redux-saga中take使用方法详解
2018/02/27 Javascript
vue通过style或者class改变样式的实例代码
2018/10/30 Javascript
浅谈webpack 四个核心概念之Entry
2019/06/12 Javascript
JS绘图Flot如何实现可选显示曲线图功能
2020/10/16 Javascript
[01:12:44]VG vs Mineski Supermajor 败者组 BO3 第二场 6.6
2018/06/07 DOTA
Python中使用动态变量名的方法
2014/05/06 Python
Python实现二叉堆
2016/02/03 Python
Pandas Shift函数的基础入门学习笔记
2018/11/16 Python
python3文件复制、延迟文件复制任务的实现方法
2019/09/02 Python
基于python图像处理API的使用示例
2020/04/03 Python
python使用Windows的wmic命令监控文件运行状况,如有异常发送邮件报警
2021/01/30 Python
CSS3 3D制作实战案例分析
2016/09/18 HTML / CSS
Big Green Smile德国网上商店:提供各种天然产品
2018/05/23 全球购物
State Cashmere官网:半零售价可持续蒙古羊绒
2020/02/26 全球购物
节能减排倡议书
2014/04/15 职场文书
2015年个人审计工作总结
2015/04/07 职场文书
2015年英语教学工作总结
2015/05/25 职场文书
pytorch 实现在测试的时候启用dropout
2021/05/27 Python