Chinaunix首页 | 论坛 | 博客
  • 博客访问: 572859
  • 博文数量: 151
  • 博客积分: 3330
  • 博客等级: 中校
  • 技术积分: 1686
  • 用 户 组: 普通用户
  • 注册时间: 2011-01-08 02:41
文章存档

2011年(151)

分类: LINUX

2011-04-21 19:46:36


统平台:RHEL5.5
软件版本:
httpd-2.2.8.tar.bz2
mod_fcgid-2.3.6.tar.bz2

mysql-5.1.30.tar.gz

php-5.2.10.tar.bz2
php-5.2.10-fpm-0.5.13.diff.gz

mcrypt-2.6.8.tar.gz
memcache-2.2.6.tgz
mhash-0.9.9.9.tar.bz2
libmcrypt-2.5.8.tar.bz2
curl-devel-7.15.5-9.el5.i386.rpm
openldap-devel

1.安装apache
groupadd httpd
useradd -g httpd -s /sbin/nologin -d /dev/null httpd

./configure --prefix=/usr/local/apache2 --sysconfdir=/usr/local/apache2/etc --with-apr-included --with-module=shared --enable-so --with-mods-shared=all 

/*用apache自带的apr*/

--enable-mods-shared=MODULE-LIST
将MODULE-LIST中的所有模块都编译成DSO(可用于所有模块)
--enable-modules=MODULE-LIST
将MODULE-LIST静态连接进核心(可用于所有模块)
--enable-MODULE=shared
将MODULE编译为DSO(可用于所有模块)
--enable-MODULE=static
将MODULE静态连接进核心(仅用于扩展和实验模块)

module-list : 
all:所有模块[遇见错误模块时中断配置过程并报错]
most :大多数模块[遇见错误模块时忽略该模块而不中断配置过程]
自定义的单个或多个,如:--enable-mods-shared='headers rewrite dav'

make && make install 

2. 安装mod_fcgid (apache 官方的fastcgi模块)
cd mod_facigd
APX=/usr/local/apache2/bin/apxs ./configure
make
make install
(将会生成mod_fcgid.so,并安装/usr/local/apache2/modules目录下)

3. 安装第三方mod_fastcgi, 

tar -zxvf mod_fastcgi-2.4.6.tar.gz

cd mod_fastcgi-2.4.6

cp Makefile.AP2 Makefile

make top_dir=/usr/local/apache2

4.修改apache配置文件 

vim /usr/local/apache2/etc/httpd.conf, 添加:

LoadModule fastcgi_module modules/mod_fastcgi.so


5.安装mysql
./configure --prefix=/usr/local/mysql --localstatedir=/usr/local/mysql/data --sysconfdir=/etc
            --wiht-unix-socket-path=/usr/local/mysql/tmp/mysql.socket --enable-local-infile
            --with-plugins=all --with-mysqld-user=mysql --with-readline --with-pthread 
            --with-mysqld-ldflags=-all --with-client-ldflags=-all  --enable-assembler  --with-charset=utf8
                     --with-collation=utf8_general_utf8 --with-extra-charsets=complex --with-mysqld-user=mysql
            --enable-thread-safe-client  --with-big-tables --enable-largefile
make
make install 

6.安装php
php-5.2.10.tar.bz2 这个版本没有集成php-fpm ,所以需要打补丁
先解压它
tar -xjvf php-5.2.10.tar.bz2
在打补丁
gzip -cd php-5.2.10-fpm-0.5.13.diff.gz | patch -d php-5.2.10 -p1

然后开始装php
./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --with-pdo-mysql=/usr/local/mysql/bin/mysql_config --with-mysql-sock=/usr/local/mysql/tmp/mysql.socket --enable-ftp --with-zlib-dir --with-bz2 --enable-zip --with-iconv-dir=/usr/local/ --with-freetype-dir --with-jpeg-dir --with-png-dir --with-gd --enable-gd-native-ttf --with-gettext --enable-bcmath --enable-exif --enable-calendar --enable-intl --with-mhash --with-mcrypt=/usr/lib --enable-fpm --enable-xml --with-xsl --enable-xmlwriter --with-libxml-dir=/usr/ --disable-rpath --enable-safe-mode --enable-shmop --enable-sysvsem --enable-inline-optimization --enable-zend-multibyte --with-curl --with-curlwrappers --enable-mbregex --enable-mbstring --with-pcre-regex --with-openssl --enable-pcntl --enable-sockets --with-ldap --with-ldap-sasl --without-pear --enable-soap --enable-pdo --enable-phar --with-xmlrpc --with-fpm-user=httpd --with-fpm-group=httpd --enable-fastcgi --enable-force-cgi-redirect  --with-apxs2=/usr/local/apache2/bin/apxs 

make ZEND_EXTRA_LIBS='-liconv'
make install



在PHP configure 的时候,如果加上 
--with-apxs2=/usr/local/apache2/bin/apxs 
安装后的php 将不是php-cgi 模式的,php-fpm 在启动的时候也会报错,找不到/usr/local/php/bin 下面的php-cgi 文件 



又重新编译了一遍,并且去掉了 --with-apxs2=/usr/local/apache2/bin/apxs ,
在/usr/local/php/bin/目录中,产生了php-cgi 可执行程序

7.修改php-fpm.conf 文件

编辑php-fpm的配置文件 /usr/local/php/etc/php-rmp.conf

将其中红色注释标志去掉:

否则 会出现报错:

[ERROR] fpm_unix_conf_wp(), line 124: please specify user and group other than root, pool 'default'


8.配置apache+php(FastCGI)整合

创建FastCGI脚本目录

mkdir /usr/local/apache2/fcgi-bin

ln -s /usr/local/php/bin/php-cgi /usr/local/apache2/fcgi-bin/php-cgi


两种方法:

第一种:

如果用php-fpm(php fastcgi process manager),须打开开启php-fpm进程监听

并且在apache 配置文件中添加如下:

10. 验证php-fastcgi 是否运行正常

在/usr/local/apache2/htdoc 目录中 建立一个phpinfo.php 的测试文件

重启apache, 访问 http://localhost/phpinfo.php









阅读(1645) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~