简单的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中使用pprint函数进行格式化输出的教程
Apr 07 Python
使用Python脚本来获取Cisco设备信息的示例
May 04 Python
在Python的while循环中使用else以及循环嵌套的用法
Oct 14 Python
对python捕获ctrl+c手工中断程序的两种方法详解
Dec 26 Python
Python3 requests文件下载 期间显示文件信息和下载进度代码实例
Aug 16 Python
python语言线程标准库threading.local解读总结
Nov 10 Python
Django 自定义分页器的实现代码
Nov 24 Python
Python3爬虫中pyspider的安装步骤
Jul 29 Python
Python filter过滤器原理及实例应用
Aug 18 Python
Python‘==‘ 及 ‘is‘相关原理解析
Sep 05 Python
Python做图像处理及视频音频文件分离和合成功能
Nov 24 Python
Django数据模型中on_delete使用详解
Nov 30 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
php5.3 不支持 session_register() 此函数已启用的解决方法
2013/11/12 PHP
CodeIgniter自定义控制器MY_Controller用法分析
2016/01/20 PHP
php文件管理基本功能简单操作
2017/01/16 PHP
经典的解除许多网站无法复制文字的绝招
2006/12/31 Javascript
Packer 3.0 JS压缩及混淆工具 下载
2007/05/03 Javascript
在chrome中window.onload事件的一些问题
2010/03/01 Javascript
非阻塞动态加载javascript广告实现代码
2010/11/17 Javascript
JQUBAR1.1 jQuery 柱状图插件发布
2010/11/28 Javascript
自制的文件上传JS控件可支持IE、chrome、firefox etc
2014/04/18 Javascript
浏览器中url存储的JavaScript实现
2015/07/07 Javascript
jQuery mobile 移动web(6)
2015/12/20 Javascript
利用jQuery设计一个简单的web音乐播放器的实例分享
2016/03/08 Javascript
Markdown与Bootstrap相结合实现图片自适应属性
2016/05/04 Javascript
Javascript实现图片不间断滚动的代码
2016/06/22 Javascript
vue+vux实现移动端文件上传样式
2017/07/28 Javascript
jQuery选择器之表单元素选择器详解
2017/09/19 jQuery
JavaScript实现区块链
2018/03/14 Javascript
Vue进度条progressbar组件功能
2018/04/17 Javascript
浅谈vue限制文本框输入数字的正确姿势
2019/09/02 Javascript
js实现简单扫雷
2020/11/27 Javascript
python 生成目录树及显示文件大小的代码
2009/07/23 Python
Python Django使用forms来实现评论功能
2016/08/17 Python
浅谈pytorch和Numpy的区别以及相互转换方法
2018/07/26 Python
python中将\\uxxxx转换为Unicode字符串的方法
2018/09/06 Python
python Dijkstra算法实现最短路径问题的方法
2019/09/19 Python
Python动态强类型解释型语言原理解析
2020/03/25 Python
学会python自动收发邮件 代替你问候女友
2020/05/20 Python
Python 利用OpenCV给照片换底色的示例代码
2020/08/03 Python
python实现KNN近邻算法
2020/12/30 Python
HTML5 LocalStorage 本地存储刷新值还在
2017/03/10 HTML / CSS
Nike墨西哥官网:Nike MX
2020/08/30 全球购物
关于感恩的演讲稿800字
2014/08/26 职场文书
中学生旷课检讨书2篇
2014/10/09 职场文书
幼儿园园长新年寄语2015
2014/12/08 职场文书
未发现nvidia显卡怎么办?Win11系统中未检测到nvidia显卡解决教程
2022/04/08 数码科技
在 Python 中利用 Pool 进行多线程
2022/04/24 Python