简单的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通过urllib2爬网页上种子下载示例
Feb 24 Python
Python实现抓取网页生成Excel文件的方法示例
Aug 05 Python
详解Python之unittest单元测试代码
Jan 24 Python
python获取命令行输入参数列表的实例代码
Jun 23 Python
python 实现UTC时间加减的方法
Dec 31 Python
PythonWeb项目Django部署在Ubuntu18.04腾讯云主机上
Apr 01 Python
Python进程间通信Queue消息队列用法分析
May 22 Python
Flask使用Pyecharts在单个页面展示多个图表的方法
Aug 05 Python
python sorted函数原理解析及练习
Feb 10 Python
Python Mock模块原理及使用方法详解
Jul 07 Python
openCV提取图像中的矩形区域
Jul 21 Python
Django 实现图片上传和下载功能
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-accelerator网站加速PHP缓冲的方法
2008/07/30 PHP
精通Javascript系列之数值计算
2011/06/07 Javascript
javascript间隔定时器(延时定时器)学习 间隔调用和延时调用
2014/01/13 Javascript
javascript中style.left和offsetLeft的用法说明
2014/03/07 Javascript
在HTML代码中使用JavaScript代码的例子
2014/10/16 Javascript
js实现DOM走马灯特效的方法
2015/01/21 Javascript
ECMAScript中函数function类型
2015/06/03 Javascript
谈谈AngularJs中的隐藏和显示
2015/12/09 Javascript
基于jQuery的select下拉框选择触发事件实例分析
2016/11/18 Javascript
基于BootStrap multiselect.js实现的下拉框联动效果
2017/07/28 Javascript
详解vue-cli中的ESlint配置文件eslintrc.js
2017/09/25 Javascript
微信小程序实现topBar底部选择栏效果
2018/07/20 Javascript
如何解决.vue文件url引用文件的问题
2019/01/18 Javascript
微信小程序mpvue点击按钮获取button值的方法
2019/05/29 Javascript
js实现轮播图特效
2020/05/28 Javascript
Element Tooltip 文字提示的使用示例
2020/07/26 Javascript
vue-cli3中配置alias和打包加hash值操作
2020/09/04 Javascript
JavaScript实现点击图片换背景
2020/11/20 Javascript
[03:40]DOTA2亚洲邀请赛小组赛第二日 赛事回顾
2015/01/31 DOTA
python实现问号表达式(?)的方法
2013/11/27 Python
python中子类继承父类的__init__方法实例
2016/12/15 Python
python strip() 函数和 split() 函数的详解及实例
2017/02/03 Python
python卸载后再次安装遇到的问题解决
2019/07/10 Python
python处理大日志文件
2019/07/23 Python
tensorflow通过模型文件,使用tensorboard查看其模型图Graph方式
2020/01/23 Python
pycharm不能运行.py文件的解决方法
2020/02/12 Python
利用 Python ElementTree 生成 xml的实例
2020/03/06 Python
使用python matploblib库绘制准确率,损失率折线图
2020/06/16 Python
深入了解NumPy 高级索引
2020/07/24 Python
Python浮点型(float)运算结果不正确的解决方案
2020/09/22 Python
为什么说Ruby是一种真正的面向对象程序设计语言
2012/10/30 面试题
技术副厂长岗位职责
2013/12/26 职场文书
幼儿园保育员辞职信
2014/01/12 职场文书
临床护士自荐信
2014/01/31 职场文书
辞旧迎新演讲稿
2014/09/15 职场文书
旷课检讨书范文
2014/10/30 职场文书