简单的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不带重复的全排列代码
Aug 13 Python
利用Python实现Windows定时关机功能
Mar 21 Python
python3实现公众号每日定时发送日报和图片
Feb 24 Python
Python3+django2.0+apache2+ubuntu14部署网站上线的方法
Jul 07 Python
Pandas读取并修改excel的示例代码
Feb 17 Python
使用Python OpenCV为CNN增加图像样本的实现
Jun 10 Python
解决python中使用PYQT时中文乱码问题
Jun 17 Python
python写程序统计词频的方法
Jul 29 Python
pandas中read_csv的缺失值处理方式
Dec 19 Python
Python操作Excel把数据分给sheet
May 20 Python
Keras 实现加载预训练模型并冻结网络的层
Jun 15 Python
python 基于selectors库实现文件上传与下载
Dec 31 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
PHP的一个完整SMTP类(解决邮件服务器需要验证时的问题)
2006/10/09 PHP
为查询结果建立向后/向前按钮
2006/10/09 PHP
PHP和Mysqlweb应用开发核心技术-第1部分 Php基础-2 php语言介绍
2011/07/03 PHP
如何获知PHP程序占用多少内存(memory_get_usage)
2012/09/23 PHP
使用配置类定义Codeigniter全局变量
2014/06/12 PHP
PHP输出两个数字中间有多少个回文数的方法
2015/03/23 PHP
php实现与python进行socket通信的方法示例
2017/08/30 PHP
Jquery实现兼容各大浏览器的Enter回车切换输入焦点的方法
2014/09/01 Javascript
使用JavaScript判断手机浏览器是横屏还是竖屏问题
2016/08/02 Javascript
Bootstrap导航简单实现代码
2017/03/06 Javascript
Vue2.0系列之过滤器的使用
2018/03/01 Javascript
jquery.onoff实现简单的开关按钮功能(推荐)
2018/05/24 jQuery
详解webpack之图片引入-增强的file-loader:url-loader
2018/10/08 Javascript
基于layui内置模块(element常用元素的操作)
2019/09/20 Javascript
对Layer弹窗使用及返回数据接收的实例详解
2019/09/26 Javascript
[40:19]2018完美盛典CS.GO表演赛
2018/12/17 DOTA
Python基于Tkinter实现的记事本实例
2015/06/17 Python
Python探索之SocketServer详解
2017/10/28 Python
PyTorch CNN实战之MNIST手写数字识别示例
2018/05/29 Python
Numpy中矩阵matrix读取一列的方法及数组和矩阵的相互转换实例
2018/07/02 Python
利用Pandas读取文件路径或文件名称包含中文的csv文件方法
2018/07/04 Python
python基础知识(一)变量与简单数据类型详解
2019/04/17 Python
python对绑定事件的鼠标、按键的判断实例
2019/07/17 Python
基于python实现的百度新歌榜、热歌榜下载器(附代码)
2019/08/05 Python
Python实现剪刀石头布小游戏(与电脑对战)
2019/12/31 Python
使用python实现名片管理系统
2020/06/18 Python
Python3安装模块报错Microsoft Visual C++ 14.0 is required的解决方法
2020/07/28 Python
一款基于css3麻将筛子3D翻转特效的实例教程
2014/12/31 HTML / CSS
Html5页面获取微信公众号的openid的方法
2020/05/12 HTML / CSS
银行实习生的自我评价
2014/01/13 职场文书
网络编辑岗位职责
2014/03/18 职场文书
药店促销活动策划方案
2014/08/24 职场文书
武当山导游词
2015/02/03 职场文书
2016年优秀党员教师先进事迹材料
2016/02/29 职场文书
2016年党风廉政建设承诺书
2016/03/25 职场文书
2019奶茶店创业计划书范本!
2019/07/15 职场文书