简单的Apache+FastCGI+Django配置指南

yipeiwu_com5年前Python基础

在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>


相关文章

解决Pycharm 包已经下载,但是运行代码提示找不到模块的问题

解决Pycharm 包已经下载,但是运行代码提示找不到模块的问题

问题产生: pycharm→settings→Project interpreter→下载matplotlib包 运行代码,出现以下提示:找不到‘matplotlib'模块ModuleN...

Python Django框架防御CSRF攻击的方法分析

本文实例讲述了Python Django框架防御CSRF攻击的方法。分享给大家供大家参考,具体如下: 项目名/settings.py(项目配置,csrf中间件配置): MIDDLEW...

python线程安全及多进程多线程实现方法详解

进程和线程的区别 进程是对运行时程序的封装,是系统资源调度和分配的基本单位 线程是进程的子任务,cpu调度和分配的基本单位,实现进程内并发。 一个进程可以包含多个线程,线...

Python基本语法经典教程

Python基本语法经典教程

本文讲述了Python基本语法。分享给大家供大家参考,具体如下: 概述: 这里主要讲述以下内容: ① 缩进 ② 流程控制语句 ③ 表达式 ④ 函数 ⑤ 对象的方法 ⑥ 类型 ⑦ 数学运算...

简单了解Django ContentType内置组件

简单了解Django ContentType内置组件

一、引出问题 假如有这两张表,它们中的课程可能价格不一样、周期不一样、等等...不一样...,现在有一张价格策略表,怎么就用一张表报保存它们之间不同的数据呢? 可能你会这样: 确实是...