zoukankan      html  css  js  c++  java
  • 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
    

      

      

      

  • 相关阅读:
    nyoj--325--zb的生日(简单dp)
    nyoj--124--中位数(水题)
    nyoj--90--整数划分(母函数)
    nyoj--18--The Triangle(dp水题)
    CodeForces ---596B--Wilbur and Array(贪心模拟)
    nyoj--1023--还是回文(动态规划)
    poj--3984--迷宫问题(bfs+路径记录)
    Netty(4)Stream by codec(粘包与拆包)
    Netty(1-1)Discard
    Netty:option和childOption参数设置说明
  • 原文地址:https://www.cnblogs.com/xiami-xm/p/7281692.html
Copyright © 2011-2022 走看看