PHP5.3+Apache2+Fastcgi+php-fpm配置

本文详细介绍如何配置PHP5.3版本与Apache、Fastcgi及php-fpm,包括安装mod_fastcgi模块、autoconf2.13、libevent等依赖项,以及安装和配置PHP5.3.2的具体步骤。此外,还介绍了如何通过Apache配置文件启用FastCGI支持,使用php-fpm进行进程管理,并调整相关参数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

写过一篇PHP5.2.9+Apache2+Fastcgi+php-fpm配置的文章,当时的PHP版本是5.2.X,现在PHP版本已经升到了PHP5.3.X,有些不适用了,现在重新写一篇:

1.安装apache2的mod_fastcgi


1tar -zxvf mod_fastcgi
2cd mod_fastcgi
3cp Makefile.AP2 Makefile
4make top_dir=/path/to/apache2#你的apache安装路径
5make install

编辑httpd.conf 增加如下配置:


1LoadModule fastcgi_module modules/mod_fastcgi.so

2. 安装autoconf2.13

必须确保已经安装了autoconf2.13,否则在执行以后的”./buildconf –force”命令时候会报错:
Forcing buildconf
using default Zend directory
buildconf: checking installation…
buildconf: autoconf version 2.59 (ok)
buildconf: Your version of autoconf likely contains buggy cache code.
Running cvsclean for you.
To avoid this, install autoconf-2.13.


1wget http://ftp.gnu.org/gnu/autoconf/autoconf-2.13.tar.gz
2tar -zxvf autoconf-2.13.tar.gz
3cd autoconf-2.13
4./configure --prefix=/path/to/autoconf
5make && make install
6export PHP_AUTOCONF=/path/to/autoconf/bin/autoconf
7export PHP_AUTOHEADER=/path/to/autoconf/bin/autoheader

3. 安装libevent


1wget http://www.monkey.org/~provos/libevent-1.4.13-stable.tar.gz
2tar -zxvf libevent-1.4.13-stable.tar.gz
3cd libevent-1.4.13-stable/
4 ./configure
5make && make install

4. 安装PHP-5.3.2


2tar -zxvf php-5.3.2.tar.gz
3cd php-5.3.2
5 ./buildconf --force
6./configure --prefix=/path/to/php5.3.2/ --with-config-file-path=/path/to/php5.3.2/ --enable-fpm --enable-mbstring --enable-xml --enable-fastcgi
7make && make install

5. 启动


1cd /path/to/php5.3.2/etc/
2mv php-fpm.default.conf php-fpm.conf
3/path/to/php5.3.2/sbin/php-fpm

编辑php-fpm.conf,把下面几行前的注释符号去掉:


1pm.start_servers = 10
2pm.min_spare_servers = 10
3pm.max_spare_servers = 20
4pm.max_requests = 100

6.配置Apache


1cd /var
2mkdir fcgi-bin
3cd fcgi-bin
4ln -s php-cgi /path/to/php/bin/php #你的php路径,其中要注意权限问题。

如果用apache的内部的fpm(fastcgi process manager),则:
编辑httpd.conf,添加如下配置:


01ScriptAlias /fcgi-bin/ "/var/fcgi-bin/" #定义目录映射
02FastCgiServer /var/fcgi-bin/php-cgi -processes 10 #配置fastcgi server,
03  
04SetHandler fastcgi-script
05Options FollowSymLinks
06Order allow,deny
07Allow from all
08  
09AddType application/x-httpd-php .php  #增加MIME类型
10AddHandler php-fastcgi .php          #.php结尾的请求都要用php-fastcgi来处理
11Action php-fastcgi /fcgi-bin/php-cgi #设置php-fastcgi的处理器

如果用php-fpm来管理cgi的话,编辑httpd.conf添加如下配置:


01ScriptAlias /fcgi-bin/ "/var/fcgi-bin/" #定义目录映射
02FastCgiExternalServer /var/fcgi-bin/php-cgi -host 127.0.0.1:9000
03#配置fastcgi外部server,127.0.0.1:9000地址为php-fpm的监听地址。
04  
05SetHandler fastcgi-script
06Options FollowSymLinks
07Order allow,deny
08Allow from all
09  
10AddType application/x-httpd-php .php  #增加MIME类型
11AddHandler php-fastcgi .php          #.php结尾的请求都要用php-fastcgi来处理
12Action php-fastcgi /fcgi-bin/php-cgi #设置php-fastcgi的处理器

使用php-fpm是有很多优点的,比如可以平滑地重新加载php.ini文件而不用重启fastcgi进程,对于访问量大的网站来说是很重要的。

7.重启Apache

重启Apache,查看phpinfo,如果服务器信息是:
Apache/2.2.11 (Unix) mod_fastcgi/2.4.6之类的就说明安装成功了。
如果出现403的错误,查看下/var/fcgi-bin/是否有足够的权限。
ps aux|grep php可以看见N个PHP进程在跑。

参考:

http://php-fpm.org/wiki/Documentation

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值