zoukankan      html  css  js  c++  java
  • linux下php以fastcgi模式运行

    关于PHP以fastcgi方式运行的文章,网络上较多,也许由于转载的原因,有些地方不甚明了,笔者亲自测试,整理成文,供大家参考。

    1、linux系统
    [root@localhost /]# cat /etc/redhat-release 
    CentOS release 5.2 (Final)
    2、安装apache 
    下载并解压缩apache,本文演示用的版本是2.2.19
    [root@localhost]# wget http://labs.renren.com/apache-mirror//httpd/httpd-2.2.19.tar.gz
    [root@localhost]# tar xvzf httpd-2.2.19.tar.gz

    编译和安装apache,本文的目的只是演示php以fastcgi方式运行,为了方便,只选必须的参数编译
    [root@localhost]# cd httpd-2.2.19
    [root@localhost]#./configure --enable-so
    [root@localhost]#make
    [root@localhost]#make install

    3、安装mod_fcgid(注意是mod_fcgid,不是mod_fastcgi)
    下载并解压缩mod_fcgid,本文测试时用的版本是2.3.6
    [root@localhost]wget http://labs.renren.com/apache-mirror//httpd/mod_fcgid/mod_fcgid-2.3.6.tar.gz
    [root@localhost]tar xvzf mod_fcgid-2.3.6.tar.gz

    编译并安装mod_fcgid
    [root@localhost]cd mod_fcgid-2.3.6
    [root@localhost]APXS=/usr/local/apache2/bin/apxs ./configure.apxs
    [root@localhost]make
    [root@localhost]make install

    注释:网络上部分文档没有APXS=/usr/local/apache2/bin/apxs,详情参考mod_fcgid软件中的README-FCGID文档

    4、安装PHP
    下载并加压缩PHP,PHP版本是5.3.6
    [root@localhost]wget http://www.php.net/get/php-5.3.6.tar.bz2/from/cn.php.net/mirror
    [root@localhost]tar xvjf php-5.3.6.tar.bz2

    编译并安装PHP
    [root@localhost] cd php-5.3.6
    [root@localhost]./configure --prefix=/usr/local --with-configure-file-path=/etc
    [root@localhost]make
    [root@localhost]make install


    注释:要是有库文件报错,请安装相关库文件,笔者的系统上曾报libxml2的错,yum install libxml2-devel,解决问题。网络上很多文档,说要使用--enable-fastcgi这个参数,笔者在./configure --help中没有找到这个参数,倒是找到一个--disable-cgi的参数,因而决定不加--enable-fastcgi这个参数,此后证实这个参数可以不加。--with-apxs2这个参数一定不能加

    5.配置

    创建FastCGI脚本目录
    [root@localhost]# mkdir /usr/local/apache2/fcgi-bin
    [root@localhost]# ln -s /usr/local/php/bin/php-cgi /usr/local/apache2/fcgi-bin/php-cgi

    编辑apache配置文件
    [root@localhost]# vi /usr/local/apache/conf/httpd.conf
    加入以下内容
    ScriptAlias /fcgi-bin/ "/usr/local/php5/bin/"
    AddHandler php-fastcgi .php
    Action php-fastcgi /fcgi-bin/php-cgi
    AddType application/x-httpd-php .php
    <IfModule mod_fcgid.c>
        IdleTimeout 300
        ProcessLifeTime 1800
        MaxProcessCount 100
        DefaultMinClassProcessCount 3
        DefaultMaxClassProcessCount 8
        IPCConnectTimeout 15
        IPCCommTimeout 300
        MaxRequestsPerProcess 100
    </IfModule>
    <Directory /usr/local/apache2/fcgi-bin>   
          AllowOverride None
          Options FollowSymLinks +ExecCGI
          Order allow,deny
          Allow from all
    </Directory>
    修改
    <Directory "/usr/local/apache2/htdocs">
        Options Indexes FollowSymLinks +ExecCGI
        AllowOverride None
        Order allow,deny
        Allow from all
    </Directory>

    注释:笔者测试的test.php文件放在htdocs目录下面,因此htdocs目录的权限需要ExecCGI,若目录不同,请赋予目录ExecCGI的权限。另LoadModule fcgid_module modules/mod_fcgid.so 这个再装mod_fcgid的时候,自动添加了。

    6、验证
    编辑测试页面
    [root@localhost]# vi /usr/local/apache2/htdocs/test.php
    <?php
    echo phpinfo();
    ?>
    在浏览器栏目输入http://x.x.x.x/test.php


  • 相关阅读:
    Dobbo介绍
    Java反射
    Rocket MQ简介
    logback异步日志
    Java Arrays.asList
    图解Javascript——作用域、作用域链、闭包
    android源码-安卓源码-Android源码下载-安卓游戏源码
    Ghost版Win8.1系统企业版下载
    3dmax详细讲解全套攻略在线视频教程
    网站分析师如何让分析报告更具价值
  • 原文地址:https://www.cnblogs.com/moqiang02/p/4061345.html
Copyright © 2011-2022 走看看