简单的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开发windows GUI程序入门实例
Oct 23 Python
Python中最常用的操作列表的几种方法归纳
Apr 24 Python
python通过ssh-powershell监控windows的方法
Jun 02 Python
不要用强制方法杀掉python线程
Feb 26 Python
python版简单工厂模式
Oct 16 Python
python3+PyQt5+Qt Designer实现堆叠窗口部件
Apr 20 Python
pandas将numpy数组写入到csv的实例
Jul 04 Python
利用ctypes获取numpy数组的指针方法
Feb 12 Python
python读写配置文件操作示例
Jul 03 Python
Python中常见的数制转换有哪些
May 27 Python
解决pytorch 保存模型遇到的问题
Mar 03 Python
Python实现制作销售数据可视化看板详解
Nov 27 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人民币金额数字转中文大写的函数代码
2013/02/27 PHP
微信公众平台开发关注及取消关注事件的方法
2014/12/23 PHP
php发送与接收流文件的方法
2015/02/11 PHP
一个简单安全的PHP验证码类 附调用方法
2016/06/24 PHP
php判断是否为ajax请求的方法
2016/11/29 PHP
jquery的index方法实现tab效果
2011/02/16 Javascript
js 获取屏幕各种宽高的方法(浏览器兼容)
2013/05/15 Javascript
用Js实现的动态增加表格示例自己写的
2013/10/21 Javascript
NodeJS学习笔记之网络编程
2014/08/03 NodeJs
jQuery+slidereveal实现的面板滑动侧边展出效果
2015/03/14 Javascript
浅谈jQuery中setInterval()方法
2015/07/07 Javascript
D3.js实现文本的换行详解
2016/10/14 Javascript
javascript设置文本框光标的方法实例小结
2016/11/04 Javascript
Vue中fragment.js使用方法详解
2017/03/09 Javascript
Laravel admin实现消息提醒、播放音频功能
2019/07/10 Javascript
express中static中间件的具体使用方法
2019/10/17 Javascript
vue项目中使用particles实现粒子背景效果及遇到的坑(按钮没有点击响应)
2020/02/11 Javascript
记一次用ts+vuecli4重构项目的实现
2020/05/21 Javascript
[05:04]DOTA2上海特级锦标赛主赛事第二日TOP10
2016/03/04 DOTA
Python中尝试多线程编程的一个简明例子
2015/04/07 Python
python字符串常用方法
2018/06/14 Python
python实现自动发送报警监控邮件
2018/06/21 Python
Python对象中__del__方法起作用的条件详解
2018/11/01 Python
django2.0扩展用户字段示例
2019/02/13 Python
np.dot()函数的用法详解
2020/01/17 Python
python将dict中的unicode打印成中文实例
2020/05/11 Python
Python使用tkinter实现摇骰子小游戏功能的代码
2020/07/02 Python
Python如何输出百分比
2020/07/31 Python
pycharm 添加解释器的方法步骤
2020/08/31 Python
python matplotlib库的基本使用
2020/09/23 Python
HTML5 Canvas中绘制矩形实例
2015/01/01 HTML / CSS
校园安全广播稿
2014/02/08 职场文书
《囚绿记》教学反思
2014/03/01 职场文书
央视元宵晚会主持串词
2014/03/25 职场文书
机房搬迁方案
2014/05/01 职场文书
母亲节寄语大全
2015/02/27 职场文书