简单的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 中文字符串的处理实现代码
Oct 25 Python
Python ORM框架SQLAlchemy学习笔记之数据查询实例
Jun 10 Python
解决Python传递中文参数的问题
Aug 04 Python
Python实现控制台进度条功能
Jan 04 Python
Python获取linux主机ip的简单实现方法
Apr 18 Python
Python 操作MySQL详解及实例
Apr 30 Python
教你学会使用Python正则表达式
Sep 07 Python
Mac下Anaconda的安装和使用教程
Nov 29 Python
Python 中的 import 机制之实现远程导入模块
Oct 29 Python
python生成大写32位uuid代码
Mar 03 Python
解决django 向mysql中写入中文字符出错的问题
May 18 Python
python学习将数据写入文件并保存方法
Jun 07 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函数解决SQL injection
2006/10/09 PHP
PHP URL参数获取方式的四种例子
2014/02/28 PHP
Linux系统下使用XHProf和XHGui分析PHP运行性能
2015/12/08 PHP
使用PHP连接多种数据库的实现代码(mysql,access,sqlserver,Oracle)
2016/12/21 PHP
php注册系统和使用Xajax即时验证用户名是否被占用
2017/08/31 PHP
很棒的学习jQuery的12个网站推荐
2011/04/28 Javascript
jquery 漂亮的删除确认和提交无刷新删除示例
2013/11/13 Javascript
jquery选择checked在ie8普通模式下的问题
2014/02/12 Javascript
表单序列化与jq中的serialize使用示例
2014/02/21 Javascript
JavaScript实现N皇后问题算法谜题解答
2014/12/29 Javascript
jQuery实现简单滚动动画效果
2016/04/07 Javascript
用NodeJS实现批量查询地理位置的经纬度接口
2016/08/16 NodeJs
livereload工具实现前端可视化开发【推荐】
2016/12/23 Javascript
bootstrap3 dialog 更强大、更灵活的模态框
2017/04/20 Javascript
微信小程序 wx:for的使用实例详解
2017/04/27 Javascript
在knockoutjs 上自己实现的flux(实例讲解)
2017/12/18 Javascript
VUE 使用中踩过的坑
2018/02/08 Javascript
vue组件传递对象中实现单向绑定的示例
2018/02/28 Javascript
详解在React项目中安装并使用Less(用法总结)
2019/03/18 Javascript
Vue使用Clipboard.JS在h5页面中复制内容实例详解
2019/09/03 Javascript
详解vue中v-bind:style效果的自定义指令
2020/01/21 Javascript
[01:33:59]真人秀《加油 DOTA》 第六期
2014/09/09 DOTA
教你使用python实现微信每天给女朋友说晚安
2018/03/23 Python
Python实现的银行系统模拟程序完整案例
2019/04/12 Python
PyQt5 QTableView设置某一列不可编辑的方法
2019/06/25 Python
在Matplotlib图中插入LaTex公式实例
2020/04/17 Python
大学生村官任职感言
2014/01/09 职场文书
聊城大学毕业生自荐书
2014/02/01 职场文书
优秀部门获奖感言
2014/02/14 职场文书
入党推优材料
2014/06/02 职场文书
2015年春节标语口号
2014/12/09 职场文书
Python面向对象之成员相关知识总结
2021/06/24 Python
MySQL系列之十一 日志记录
2021/07/02 MySQL
SpringBoot2零基础到精通之数据与页面响应
2022/03/22 Java/Android
JavaScript圣杯布局与双飞翼布局实现案例详解
2022/08/05 Javascript