为了防止自己以后遗忘,现在把配置步骤写下来:
第一步:配置nginx
软件准备:nginx-0.8.15.tar.gz
tar zxf nginx-0.8.15.tar.gz
cd nginx-0.8.15
./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-http_stub_status_module #将nginx安装到/usr/local/nginx并且启用ssl
make #编译
make install #安装
cd ../
说明:如果安装nginx失败,可以先执行yum install pcre-devel
第二步:安装freetype
tar zxf freetype-2.1.10.tar.gz
cd freetype-2.1.10
./configure --prefix=/usr/local/freetype
make
make install
cd ../
第三步:安装libtool-2.2.tar.gz
tar zxf libtool-2.2.tar.gz
cd libtool-2.2
./configure
make
make install
cd ../
第四步:安装jpegsrc.v6b
tar zxf jpegsrc.v6b.tar.gz
cd jpeg-6b
mkdir /usr/local/jpeg6/include -p
mkdir /usr/local/jpeg6/bin
mkdir /usr/local/jpeg6/lib
mkdir /usr/local/jpeg6/man/man1 -p
cp /usr/share/libtool/config.sub ./
cp /usr/share/libtool/config.guess ./
./configure --prefix=/usr/local/jpeg6 --enable-shared --enable-static
make
make install-lib
make install
cd ../
第五步:安装libxml2-2.6.23.tar
tar xf libxml2-2.6.23.tar
cd libxml2-2.6.23
./configure
make
make install
第六步:安装libiconv-1.13.tar.gz
tar zxf libiconv-1.13.tar.gz
cd libiconv-1.13
./configure
make
make install
cd ../
第七步:安装zlib-1.2.3
# tar -zxvf zlib-1.2.3.tar.gz
# cd zlib-1.2.3
#./configure
#vi Makefile
找到 CFLAGS=-O3 -DUSE_MMAP
在后面加入-fPIC,即变成CFLAGS=-O3 -DUSE_MMAP -fPIC
# make
# make install
cd ../
第八步:安装gd库
tar zxf gd-2.0.35.tar.gz
cd gd-2.0.35
./configure --prefix=/usr/local/gd --with-png --with-jpeg=/usr/local/jpeg6 --with-freetype=/usr/local/freetype
make
make install
cd ../
说明:有时需要先运行yum install libpng-devel
补充:
warning: macro `AM_ICONV’ not found in library xxxxx 等一堆。
问题是出在 没有安装 gettext库( http://www.gnu.org/software/gettext/)
解决办法:
wget http://ftp.gnu.org/pub/gnu/gettext/gettext-0.17.tar.gz
tar zvxf gettext-0.17.tar.gz
cd gettext-0.17
./configure
make
make install
在重新编译php gd 问题解决
第九步:安装mysql开发包
rpm -ivh MySQL-devel-community-5.1.34-0.rhel5.i386.rpm
第十步:安装php并且打补丁(由于gd与iconv冲突,暂不编译gd库)
tar zxf php-5.2.10.tar.gz
gzip -cd php-5.2.10-fpm-0.5.13.diff.gz | patch -d php-5.2.10 -p1
cd php-5.2.10
./configure --prefix=/usr/local/php --with-mysql=/usr/ --with-mysql-sock=/var/lib/mysql --with-iconv --enable-mbstring --enable-ftp --enable-fastcgi --enable-force-cgi-redirect --with-config-file-path=/etc --with-gettext --with-pdo-mysql --enable-fpm --enable-bcmath
sed -i 's#-lz -lm -lxml2 -lz -lm -lxml2 -lz -lm -lcrypt#& -liconv#' Makefile
make
make test
make install
补充:
error while loading shared libraries: libiconv.so.2: cannot open shared object file: No such file or directory
/usr/local/lib/libiconv.so.2明明存在
有的说
/etc/ld.so.conf中添加/usr/local/lib,再执行一下ldconfig
经测试不行
给libiconv.so.2做个软件链接
ln -s /usr/local/lib/libiconv.so.2 /usr/lib/libiconv.so.2
第十一步:追加编译gd库
进入目录php-5.2.10/ext/gd执行命令
/usr/local/php/lib/phpize
./configure --with-php-config=/usr/local/php/bin/php-config --with-jpeg-dir=/usr/local/jpeg6 --with-png-dir --with-ttf --with-zlib --with-freetype-dir=/usr/local/freetype
make
make install
第十二步:更改php.ini
cp php-5.2.10/php.ini-dist /etc/php.ini
vi /etc/php.ini
追加
extension_dir=/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613
extension=/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/gd.so
我实际配置
;extension_dir=./
extension=gd.so
第十三步:更改php-fpm
位置:/usr/local/php/etc/php-fpm
将其中注释标志去掉
<!-- <value name="user">nobody</value> -->
<!-- <value name="group">nobody</value> -->
注释符号 <!-- -->
否则会出现如下错误
[ERROR] fpm_unix_conf_wp(), line 124: please specify user and group other than root, pool 'default'
第十四步:启动php-cgi,nginx
/usr/local/php/sbin/php-fpm start
/usr/local/nginx/sbin/nginx