简单的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之list和str比较
Sep 20 Python
Windows下Python使用Pandas模块操作Excel文件的教程
May 31 Python
用pandas按列合并两个文件的实例
Apr 12 Python
pyQt4实现俄罗斯方块游戏
Jun 26 Python
python 对给定可迭代集合统计出现频率,并排序的方法
Oct 18 Python
详解django2中关于时间处理策略
Mar 06 Python
详解Python计算机视觉 图像扭曲(仿射扭曲)
Mar 27 Python
Python弹出输入框并获取输入值的实例
Jun 18 Python
Python chardet库识别编码原理解析
Feb 18 Python
pandas 强制类型转换 df.astype实例
Apr 09 Python
利用4行Python代码监测每一行程序的运行时间和空间消耗
Apr 22 Python
Python实现生活常识解答机器人
Jun 28 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
Drupal 添加模块出现莫名其妙的错误的解决方法(往往出现在模块较多时)
2011/04/18 PHP
浅析is_writable的php实现
2013/06/18 PHP
举例讲解PHP面对对象编程的多态
2015/08/12 PHP
PHP中array_keys和array_unique函数源码的分析
2016/02/26 PHP
在 Laravel 项目中使用 webpack-encore的方法
2019/07/21 PHP
基于jQuery的Tab选项框效果代码(插件)
2011/03/01 Javascript
jQuery .attr()和.removeAttr()方法操作元素属性示例
2013/07/16 Javascript
Nodejs使用mysql模块之获得更新和删除影响的行数的方法
2014/03/18 NodeJs
javascript时间函数大全
2014/06/30 Javascript
jQuery实现Twitter的自动文字补齐特效
2014/11/28 Javascript
jQuery绑定自定义事件的魔法升级版
2016/06/30 Javascript
js案例之鼠标跟随jquery版(实例讲解)
2017/07/21 jQuery
JavaScript解决浮点数计算不准确问题的方法分析
2018/07/09 Javascript
百度小程序自定义通用toast组件
2019/07/17 Javascript
Vue 使用typescript如何优雅的调用swagger API
2020/09/01 Javascript
[00:06]Yes,it worked!小卡尔成功穿越时空加入战场!
2019/07/20 DOTA
Python 调用VC++的动态链接库(DLL)
2008/09/06 Python
Python3写入文件常用方法实例分析
2015/05/22 Python
Python实现获取域名所用服务器的真实IP
2015/10/25 Python
python虚拟环境virtualenv的使用教程
2017/10/20 Python
python cx_Oracle的基础使用方法(连接和增删改查)
2017/11/19 Python
Python3导入自定义模块的三种方法详解
2018/04/13 Python
Python实现带参数的用户验证功能装饰器示例
2018/12/14 Python
Tensorflow 实现释放内存
2020/02/03 Python
CSS3常用的几种颜色渐变模式总结
2016/11/18 HTML / CSS
HTML5的video标签的浏览器兼容性增强方案分享
2016/05/19 HTML / CSS
大学生护理专业自荐信
2013/10/03 职场文书
新领导上任欢迎词
2014/01/13 职场文书
规划编制实施方案
2014/03/15 职场文书
妇联主席先进事迹
2014/05/18 职场文书
医院领导班子四风问题对照检查材料
2014/10/26 职场文书
2014年图书管理员工作总结
2014/12/01 职场文书
写给领导的感谢信
2015/01/22 职场文书
无婚姻登记记录证明
2015/06/18 职场文书
离婚起诉书范文2016
2015/11/26 职场文书
golang中字符串MD5生成方式总结
2021/07/04 Golang