zabbix准备:php安装

一.安装php依赖库

ftp://xmlsoft.org/libxml2/libxml2-2.9.3.tar.gz
yum install python-devel -y
cd /download/
wget -c ftp://xmlsoft.org/libxml2/libxml2-2.9.3.tar.gz
tar xf libxml2-2.9.3.tar.gz -C tmp/
cd tmp/libxml2-2.9.3/
./configure --prefix=/usr/local/services/
make && make install

    

https://curl.haxx.se/download/curl-7.44.0.tar.gz
tar xf curl-7.44.0.tar.gz -C tmp/
cd tmp/curl-7.44.0/
./configure --prefix=/usr/local/services/
make && make install

    

http://www.ijg.org/files/jpegsrc.v9a.tar.gz
tar xf jpegsrc.v9a.tar.gz -C tmp/
cd tmp/jpeg-9a/
./configure --prefix=/usr/local/services/
make && make install

  

ftp://ftp.simplesystems.org/pub/libpng/png/src/libpng16/libpng-1.6.28.tar.gz
http://download.sourceforge.net/libpng/libpng-1.6.2.tar.gz
tar xf libpng-1.6.2.tar.gz -C tmp/
cd tmp/libpng-1.6.2/
./configure --prefix=/usr/local/services/
make && make install

  

http://download.savannah.gnu.org/releases/freetype/freetype-2.6.5.tar.gz
http://download.chinaunix.net/down.php?id=35028&ResourceID=3295&site=1
tar xf freetype-2.4.3.tar.bz2 -C tmp/
cd tmp/freetype-2.4.3/
./configure --prefix=/usr/local/services/
make && make install

  

https://github.com/libevent/libevent/releases/download/release-2.1.8-stable/libevent-2.1.8-stable.tar.gz
http://download.chinaunix.net/down.php?id=45065&ResourceID=5804&site=1
tar xf libevent-2.0.21-stable.tar.gz -C tmp/
cd tmp/libevent-2.0.21-stable/
./configure --prefix=/usr/local/services/ --disable-debug-mode
make && make install

  

https://github.com/skvadrik/re2c/releases/download/0.16/re2c-0.16.tar.gz
http://download.chinaunix.net/down.php?id=45065&ResourceID=5804&site=1
tar xf re2c-0.16.tar.gz -C tmp/
cd tmp/re2c-0.16/
./configure --prefix=/usr/local/services/
make && make install

  

ftp://mcrypt.hellug.gr/pub/crypto/mcrypt/libmcrypt/libmcrypt-2.5.7.tar.gz
tar xf libmcrypt-2.5.7.tar.gz -C tmp/
cd tmp/libmcrypt-2.5.7/
./configure --prefix=/usr/local/services/
make && make install

    

二.安装php  

wget http://cn2.php.net/distributions/php-5.6.31.tar.gz

  

./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --enable-fpm --with-fpm-user=www --with-fpm-group=www --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-iconv-dir --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --disable-rpath --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl  --enable-mbregex --enable-mbstring --with-mcrypt --enable-ftp --with-gd --enable-gd-native-ttf --with-openssl --with-mhash --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip --enable-soap --without-pear --with-gettext --with-ldap --disable-fileinfo --enable-maintainer-zts

make && make install

  

  

configure过程中各种糟心,缺少各种xx.h文件或者各种xx未声明,一般都是缺少开发库

yum install libxml2-devel -y
yum install libcurl-devel -y
yum install libjpeg-devel -y
yum install libpng-devel -y
yum install freetype-devel -y

yum install libmcrypt* -y
libmcrypt明明已经安装但缺少devel包,centos自带yum和163yum都没有对应包(libmcrypt-devel)下载,epel可以很好的解决这一难题,参考链接: http://www.cnblogs.com/SunnyZhu/p/5420549.html  http://www.linuxidc.com/Linux/2015-08/121079.htm
yum install epel-release -y    #除了rpm安装,也可yum安装epel
yum install libmctypt-devel -y

yum install openldap openldap-devel -y
cp -frp /usr/lib64/libldap* /usr/lib/

  

三.修改php-fpm配置文件

 

cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
cp /download/tmp/php-5.6.31/php.ini-production /usr/local/php/etc/php.ini

 

vi php-fpm.conf

;listen = 127.0.0.1:9000
listen = /tmp/php-cgi.sock   #以socke的方式访问.注视掉.ip端口的方式.

; Default Value: log/php-fpm.log
error_log = /data/php_log/php.error  #根据不同的项目名.定义不同的.sock 和日志.

# 调整进程数量
pm.max_children:p静态方式下开启的php-fpm进程数量。
pm.start_servers:动态方式下的起始php-fpm进程数量。
pm.min_spare_servers:动态方式下的最小php-fpm进程数量。
pm.max_spare_servers:动态方式下的最大php-fpm进程数量。

  

mkdir /data/php_log

  

尝试访问php页面出错,查看错误日志:
var/log/nginx/error.log报错:
2017/08/04 04:55:58 [crit] 61807#61807: *6 connect() to unix:/tmp/php-cgi.sock failed (13: Permission denied) while connecting to upstream, client: 192.168.119.129, server: localhost, request: "GET /index.php HTTP/1.1", upstream: "fastcgi://unix:/tmp/php-cgi.sock:", host: "192.168.119.130"

ll /tmp/php-cgi.sock发现属主属组都为root用户,因此错误原因就是:nginx的deamon用户无权限调用该socket与php-fpm通信

   

修改php-fpm配置文件/usr/local/php/etc/php-fpm.conf

使/tmp/php-cgi.sock属主属组为nginx执行用户

user = deamon
group = deamon

listen.owner = deamon
listen.group = deamon

    

修改nginx配置文件/usr/local/nginx/conf/nginx.conf

       location ~ \.php$ {
            root           /www;
            fastcgi_pass   unix:/tmp/php-cgi.sock;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            include        fastcgi_params;
        }

  

 启动php

#/usr/local/php/sbin/php-fpm

  

  

  

posted @ 2017-08-03 20:18  夏覓  Views(3338)  Comments(0Edit  收藏  举报