apache fastcgi linux,linux+apache+php的fastcgi模式

FastCGI 的主要优点是把动态语言和web server分离开来,所以web server与PHP/PHP-FPM经常被部署在不同的服务器上,以分担前端web server服务器的压力,使web server专一处理静态请求和转发动态请求,而PHP/PHP-FPM服务器专一解析PHP动态请求。

为了测试,暂不安装mysql并且这里以apache为例,编译参数较少。

安装编译环境:

yum -y install gcc gcc-c++  make automake autoconf kernel-devel ncurses-devel libxml2-devel openssl-devel curl-devel libjpeg-devel libpng-devel  pcre-devel libtool-libs freetype-devel gd zlib-devel file bison patch mlocate flex diffutils   readline-devel glibc-devel glib2-devel bzip2-devel gettext-devel libcap-devel libmcrypt-devel   //直接复制的以前编译参数

编译apache:

[root@localhost httpd-2.2.22]#./configure --prefix=/usr/local/apache --enable-so   //这里采用最小的编译参数

为apache安装mod_fastcgi模块:

在mod_fastcgi安装包中有一个INSTALL.AP2文件,里面有安装方法:

$ cd     $ cp Makefile.AP2 Makefile     //拷贝编译文件

$ make    $ make install

If your Apache2 installation isn’t in /usr/local/apache2, then

set the top_dir variable when running make (or edit the

Makefile),e.g.

$ make top_dir=/opt/httpd/2.0.40

Add an entry to httpd.conf like this:

LoadModule fastcgi_module modules/mod_fastcgi.so

这里需要编辑Makefile,修改top_dir      = /usr/local/apache   //改为你apache的编译路径

make && make install 即可

编译完成后在apache配置文件中添加一行:

LoadModule fastcgi_module modules/mod_fastcgi.so    //载入模块

至此完成。

打php的fpm补丁:

[root@localhost smb]#gzip -cd php-5.2.17-fpm-0.5.14.diff.gz | patch -d php-5.2.17 -p1

编译php:

[root@localhost php-5.2.17]# ./configure --prefix=/usr/local/php --enable-fastcgi --enable-fpm --with-config-file-path=/etc

拷贝php的配置文件:

[root@localhost php-5.2.17]# cp php.ini-recommended /etc/php.ini

编辑php-fpm的配置文件:

[root@localhost ~]# vi /usr/local/php/etc/php-fpm.conf

去掉下面的注释():

Unix user of processes

nobody

Unix group of processes

nobody指定php-fpm运行时的用户和组。不修改会无法启动。

启动php-fpm:

[root@localhost ~]# /usr/local/php/sbin/php-fpm start

Starting php_fpm  done

查看:

[root@localhost ~]# lsof -i:9000        //php-fpm占用9000端口

COMMAND   PID   USER   FD   TYPE DEVICE SIZE/OFF NODE NAME

php-cgi 49783   root    6u  IPv4 132841      0t0  TCP localhost:cslistener (LISTEN)

php-cgi 49786 nobody    0u  IPv4 132841      0t0  TCP localhost:cslistener (LISTEN)

php-cgi 49787 nobody    0u  IPv4 132841      0t0  TCP localhost:cslistener (LISTEN)

php-cgi 49788 nobody    0u  IPv4 132841      0t0  TCP localhost:cslistener (LISTEN)

php-cgi 49789 nobody    0u  IPv4 132841      0t0  TCP localhost:cslistener (LISTEN)

php-cgi 49790 nobody    0u  IPv4 132841      0t0  TCP localhost:cslistener (LISTEN)

整合apache+php/php-fpm

创建fastcgi脚本目录:

mkdir /usr/local/apache/htdocs/fcgi-bin

ln -s /usr/local/php/bin/php-cgi  /usr/local/apache/htdocs/fcgi-bin/php-cgi

编辑httpd.conf,添加(注意实际apache路径):

ScriptAlias /fcgi-bin/ “/usr/local/apache/htdocs/fcgi-bin/”

FastCgiExternalServer /usr/local/apache/htdocs/fcgi-bin/php-cgi -host 127.0.0.1:9000

AddType application/x-httpd-php .php

AddHandler php-fastcgi .php

Action php-fastcgi /fcgi-bin/php-cgi

SetHandler fastcgi-script

Options FollowSymLinks

Order allow,deny

Allow from all

启动apache。添加phpinfo测试页。测试。

1608f63ad33e4ea91a03934c37323ac2.png

专注于 服务器运维与web架构

E-mail:venus#rootop.org

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值