统平台: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
阅读(1687) | 评论(0) | 转发(0) |