PHP-FPM源码安装
安装必要组件
yum install -y openssl-devel traceroute libtool unzip gcc gcc-c++ autoconf net-snmp-devel vim wget sysstat lrzsz man tree mysql-devel ntpdate rsync libxml2 libcurl libcurl-devel libxml2-devel zlib zlib-devel libjpeg* pcre-devel gd gd-devel bind-utils
下载PHP-FPM5.6
http://museum.php.net/php5/ 这个网站地址涵盖了所有PHP版本包,我们选择对应包下载即可。
wget http://museum.php.net/php5/php-5.6.9.tar.gz
tar –zxvf php-5.6.9.tar.gz
cd php-5.6.9
编译安装
./configure –prefix=/opt/php5.6 –with-config-file-path=/opt/php5.6/etc –with-iconv=/usr/local/libiconv \
–enable-fpm –with-libxml-dir –with-zlib –with-curl –enable-dba –enable-ftp –with-freetype-dir –with-gd \
–with-jpeg-dir –with-png-dir –with-zlib-dir –enable-gd-native-ttf –with-gettext –enable-mbstring –with-mcrypt \
–with-mysql –with-mysqli –enable-pcntl –with-pdo-mysql –without-pdo-sqlite –enable-shmop –enable-sockets \
–enable-sysvmsg –enable-sysvsem –enable-sysvshm –enable-zip
编译时报configure: error: Please reinstall the iconv library.” 说明还缺少libiconv手工安装libiconv
wget http://mirror.hust.edu.cn/gnu/libiconv/libiconv-1.10.tar.gz
tar zxvf libiconv-1.10.tar.gz
cd libiconv-1.10
./configure –prefix=/usr/local/libiconv
make
make install
完成之后继续运行PHP的"./configure …" ,结果又遇到报错:“又遇到报错“configure: error: mcrypt.h not found. Please reinstall libmcrypt.” ,好像又缺少libmcrypt依赖,继续百度解决,看了几篇文章之后说要安装3个依赖,依次下载(#参考文章参考: http://blog.csdn.net/21aspnet/article/details/8203447)
wget http://nchc.dl.sourceforge.net/project/mcrypt/Libmcrypt/2.5.8/libmcrypt-2.5.8.tar.gz
解压之后 ./configure make make install
wget http://nchc.dl.sourceforge.net/project/mhash/mhash/0.9.9.9/mhash-0.9.9.9.tar.gz
解压之后 ./configure make make install
wget http://nchc.dl.sourceforge.net/project/mcrypt/MCrypt/2.6.8/mcrypt-2.6.8.tar.gz
#运行./configure 报错 configure: error: *** libmcrypt was not found ,继续百度找到解决方法:”先运行 export LD_LIBRARY_PATH=/usr/local/lib: LD_LIBRARY_PATH,“
export LD_LIBRARY_PATH=/usr/local/lib: LD_LIBRARY_PATH
./configure make make install
安装完查看php-fpm是否安装成功
[root@localhost ~]# /opt/php5.6/sbin/php-fpm -v
PHP 5.6.9 (fpm-fcgi) (built: Aug 16 2016 19:04:13)
Copyright (c) 1997-2015 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2015 Zend Technologies
启动php-fpm
# cd /opt/php5.6/etc
生成php-fpm配置文件
cp php-fpm.conf.default php-fpm.conf
[root@localhost etc]#
[root@localhost etc]# ps -ef|grep php-fpm
root 47882 1 0 13:28 ? 00:00:00 php-fpm: master process (/opt/php5.6/etc/php-fpm.conf)
nobody 47883 47882 0 13:28 ? 00:00:00 php-fpm: pool www
nobody 47884 47882 0 13:28 ? 00:00:00 php-fpm: pool www
root 47886 47840 0 13:29 pts/1 00:00:00 grep –color=auto php-fpm
[root@localhost etc]#
[root@localhost etc]# netstat -nat|grep 9000
tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN
Nginx启用php-fpm
Server{
#
location ~ \.php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /usr/local/nginx/html/$fastcgi_script_name;
include fastcgi_params;
}
}
[root@localhost etc]# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
[root@localhost etc]# nginx -s reload
原创文章,作者:null,如若转载,请注明出处:http://www.178linux.com/43926