apache默认是用自带的mod_php模块运行php,现在我们介绍使用fastcgi来执行php脚本。先说下fastcgi的优点:
Fastcgi的优点:

  • 从稳定性上看, fastcgi是以独立的进程池运行来cgi,单独一个进程死掉,系统可以很轻易的丢弃,然后重新分 配新的进程来运行逻辑.
  • · 从安全性上看,Fastcgi支持分布式运算. fastcgi和宿主的server完全独立, fastcgi怎么down也不会把server搞垮.
  • · 从性能上看, fastcgi把动态逻辑的处理从server中分离出来, 大负荷的IO处理还是留给宿主server, 这样宿主server可以一心一意作IO,对于一个普通的动态网页来说, 逻辑处理可能只有一小部分, 大量的图片等静态
  • IO处理完全不需要逻辑程序的参与.
  • · 从扩展性上讲, fastcgi是一个中立的技术标准, 完全可以支持任何语言写的处理程序 (php,java,perl,ruby,c++,python...)
  • · 适用操作系统,可在任何平台上http://www.fastcgi.com/dist/mod_fastcgi-current.tar.gz使用

安装apache

  1. wget http://apache.ziply.com//httpd/httpd-2.2.21.tar.gz
  2. tar xzf httpd-2.2.21.tar.gz
  3. cd httpd-2.2.21
  4. ./configure --prefix=/usr/local/apache
  5. make && make install

安装fastcgi

  1. wget http://www.fastcgi.com/dist/mod_fastcgi-2.4.6.tar.gz
  2. tar xzf mod_fastcgi-2.4.6.tar.gz
  3. cd mod_fastcgi-2.4.6
  4. cp Makefile.AP2 Makefile
  5. make top_dir=/usr/local/apache
  6. make top_dir=/usr/local/apache install

完成之后编辑httpd.conf配置文件,加入fastcgi模块装载代码:

  1. LoadModule fastcgi_module modules/mod_fastcgi.so

安装php5.2

  1. wget http://us2.php.net/get/php-5.2.17.tar.gz/from/am.php.net/mirror
  2. tar xzf php-5.2.17.tar.gz
  3. cd php-5.2.17
  4. ./configure --prefix=/usr/local/php --enable-fastcgi --disable-cli
  5. make && make install

配置apache支持php

编辑httpd.conf文件,加入如下代码:

  1. ### fastcgi ###
  2. ScriptAlias /fcgi-bin/ "/usr/local/php/bin/"
  3. AddHandler php-fastcgi .php
  4. Action php-fastcgi /fcgi-bin/php-cgi
  5. AddType application/x-httpd-php .php
  6. <IfModule mod_fcgid.c>
  7. AddHandler fcgid-script. .php .fcgi   ### 暂时只配置支持.php
  8. IdleTimeout 300
  9. ProcessLifeTime 1800
  10. MaxProcessCount 100
  11. DefaultMinClassProcessCount 3
  12. DefaultMaxClassProcessCount 8
  13. IPCConnectTimeout 15
  14. IPCCommTimeout 300
  15. MaxRequestsPerProcess 100
  16. </IfModule>
  17. ### fastcgi ###

建立虚拟主机可以这样配置:

  1. <VirtualHost *:80>
  2. DocumentRoot /usr/local/apache/htdocs
  3. ServerName localhost
  4. Options +ExecCGI
  5. AddHandler fastcgi-script .fcgi
  6. AddType application/x-httpd-php .php
  7. Action application/x-httpd-php /fcgi-bin/php-cgi
  8. <Directory /usr/local/apache/htdocs>
  9. Options Indexes ExecCGI
  10. Order allow,deny
  11. allow from all
  12. </Directory>
  13. </VirtualHost>

详细的fastcgi指令配置请看:http://www.fastcgi.com/mod_fastcgi/docs/mod_fastcgi.html

配置apache以fastcgi运行php的更多相关文章

  1. [Apache手册]Linux环境下配置Apache运行cgi

    CGI动态页面 相关模块 相关指令 mod_alias mod_cgi AddHandler Options ScriptAlias CGI(公共网关接口)定义了web服务器与外部内容生成程序之间交互 ...

  2. 配置apache运行cgi程序

    配置apache运行cgi程序 文章目录 [隐藏] ScriptAlias目录的CGI ScriptAlias目录以外的CGI 配置apache运行cgi程序可分为两种情况,一是ScriptAlias ...

  3. windows下配置apache+php环境

    PHP安装 由于windows下php扩展5.6的多余7.0,故以php5.6为开发环境.如果对扩展要求不高,可以使用php7,安装过程类似. 约定: 环境安装目录: D:/phpsetup/ |-- ...

  4. Ubuntu14.04 Server amd64 配置 Apache+MySQL+Django

    写在前面 因为不同版本的apache等软件文件夹和配置文件的名称设置都不尽相同,网上累死累活查了好多个博客就没一个能成功配出来的. 所以本文也不一定能帮到你,请在确定对自己有用之前不要盲目转载,以免给 ...

  5. 转:Apache和Nginx运行原理解析

    Web服务器 Web服务器也称为WWW(WORLD WIDE WEB)服务器,主要功能是提供网上信息浏览服务. 应用层使用HTTP协议. HTML文档格式. 浏览器统一资源定位器(URL). Web服 ...

  6. Nginx安装配置PHP(FastCGI)环境的教程

    这篇是Nginx安装配置PHP(FastCGI)环境的教程.Nginx不支持对外部程序的直接调用或者解析,所有的外部程序(包括PHP)必须通过FastCGI接口来调用. 一.什么是 FastCGI F ...

  7. Linux上配置Nginx+PHP5(FastCGI)

    原为地址:http://www.laruence.com/2009/07/28/1030.html Nginx是俄罗斯人编写的十分轻量级的HTTP服务器,以事件驱动的方式编写,所以有非常好的性能,同时 ...

  8. Apache和Nginx运行原理解析

    Web服务器 Web服务器也称为WWW(WORLD WIDE WEB)服务器,主要功能是提供网上信息浏览服务. 应用层使用HTTP协议. HTML文档格式. 浏览器统一资源定位器(URL). Web服 ...

  9. lamp环境搭建之配置apache与fpm方式的php

    配置apache-2.4.9与fpm方式的php-5.4.26 一.apache.MySQL的安装参考<编译安装lamp环境> http://blog.csdn.net/reblue520 ...

随机推荐

  1. http://www.cnblogs.com/leiOOlei/p/5075402.html

    http://www.cnblogs.com/leiOOlei/p/5075402.html

  2. servlet学习笔记四

    Servlet 主要内容: 1)servlet初始化参数与上下文参数 2)过滤器 3)监听器一.servlet初始化参数与上下文参数 1)servlet初始化参数 把某些变量放在web.xml配置,到 ...

  3. Spring框架学习之第7节

    配置Bean的细节 ☞尽量使用scope=”singleton”,不要使用prototype,因为这样对我们的性能影响较大 ②如何给集合类型注入值 Java中主要的map,set,list / 数组 ...

  4. iOS开发--UITableView

    -.建立 UITableView  DataTable = [[UITableView alloc] initWithFrame:CGRectMake(0, 0, 320, 420)];  [Data ...

  5. 一行代码设置TForm颜色的前世今生(属性赋值引起函数调用,然后发消息实现改变显示效果),TForm的初始颜色在dfm中设置了clBtnFace色

    来自万一的帖子:http://www.cnblogs.com/del/archive/2008/04/27/1173658.html的确做到了一行代码设置TForm控件的颜色(一点感想:Delphi程 ...

  6. iOS:Git分布式版本控制器系统

    Git的使用 1.Git简介: Git是一个开源的分布式版本控制系统.与SVN.CVS相比 分布式    不需要中心仓库 Git的版本号都是生成的一个哈希值,比如:bbaf6fb5060b4875b1 ...

  7. swift:入门知识之函数与闭包

    1.swift中使用关键字func来声明和定义一个函数.调用函数使用它的名字加上小括号中的参数列表. 2.swift使用->方向符号分隔参数的名字和返回值类型 3.swift使用元组(tuple ...

  8. logstash_agent.conf 语法注意事项

    编写配置文件时要注意语法,如新版本的logstash对参数host变更为hosts,去除了port参数等. [root@localhost logstash]# cat logstash_agent. ...

  9. css 射线实现方法

    一个斜的四边形 .top_ad_out::before { content: ''; position: absolute; z-index: -1; width: 336px; height: 25 ...

  10. openfire插件开发入门1

    .案例插件的功能 这个插件很简单,就是在openfire Server启动时,和关闭时,在控制台打印出消息. 3.插件开发的目录结构设计 先来看一下当前openfire在eclipse中的目录结构: ...