wanmin444 发表于 2018-12-15 15:44:36

centos6.5 安装php5.6

  安装php
  安装依赖包
  yum install gcc make gd-devel libjpeg-devel libpng-devel libxml2-devel bzip2-devel libcurl-devel –y
  安装epel源
  wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo
  yum -y install libmcrypt-devel mcytpt mhash libxslt-devel
  安装libiconv
  tar -zxvf libiconv-1.14.tar.gz
  cd libiconv-1.14
  ./configure –prefix=/usr/lcoal/libiconv
  Make && make install
  解压安装包
  tar -zxvf php-5.6.20.tar.gz
  配置编译安装
  cd php-5.6.20
  ./configure\
  –prefix=/usr/local/php-5.6.20 \
  –with-config-file-path=/usr/local/php-5.6.20/etc \
  –with-fpm-user=nginx \
  –with-fpm-group=nginx \
  –with-bz2 \
  –with-curl \
  –with-gd \
  –with-mcrypt \
  –with-openssl \
  –with-mhash \
  –with-jpeg-dir \
  –with-png-dir \
  –with-freetype-dir \
  –with-iconv-dir=/usr/local/libiconv \
  –with-gettext \
  –with-libxml-dir=/usr/local \
  –with-zlib \
  –with-xsl \
  –with-pdo-mysql=mysqlnd \
  –with-mysql=mysqlnd \
  –with-mysqli=mysqlnd \
  –with-libdir=lib64 \
  –enable-dom \
  –enable-xml \
  –enable-fpm \
  –enable-bcmath \
  –enable-ftp \
  –enable-sockets \
  –disable-ipv6 \
  –enable-mbregex \
  –enable-mbstring \
  –enable-calendar \
  –enable-gd-native-ttf \
  –enable-static \
  make
  make install
  cp php.ini-production /usr/local/php/lib/php.ini
  cp /usr/local/php/etc/php-fpm.conf.default/usr/local/php/etc/php-fpm.conf
  cd /usr/local/php/
  mkdir log
  编辑配置文件
  pid = /var/log/php-fpm.pid
  error_log = log/php-fpm.log
  log_level = error
  rlimit_files = 32768
  events.mechanism = epoll
  
  user = nginx
  group = nginx
  listen = 127.0.0.1:9000
  pm = dynamic
  pm.max_children = 1024
  pm.start_servers = 16
  pm.min_spare_servers = 5
  pm.max_spare_servers = 20
  pm.process_idle_timeout = 15s;
  pm.max_requests = 2048
  slowlog = log/$pool.log.slow
  request_slowlog_timeout = 10
  
  创建启动停止脚本:
  vim /etc/init.d/php-fpm
  #! /bin/sh
  ### BEGIN INIT INFO
  # Provides:          php-fpm
  # Required-Start:    $remote_fs $network
  # Required-Stop:   $remote_fs $network
  # Default-Start:   2 3 4 5
  # Default-Stop:      0 1 6
  # Short-Description: starts php-fpm
  # Description:       starts the PHP FastCGI Process Manager daemon
  ### END INIT INFO
  prefix=/usr/local/php
  exec_prefix=${prefix}
  php_fpm_BIN=${exec_prefix}/sbin/php-fpm
  php_fpm_CONF=${prefix}/etc/php-fpm.conf
  php_fpm_PID=${prefix}/var/run/php-fpm.pid
  php_opts=”–fpm-config $php_fpm_CONF –pid $php_fpm_PID”
  wait_for_pid () {
      try=0
      while test $try -lt 35 ; do
        case “$1” in
              ‘created’)
              if [ -f “$2” ] ; then
                  try=”
                  break
              fi
              ;;
              ‘removed’)
              if [ ! -f “$2” ] ; then
                  try=”
                  break
              fi
              ;;
        esac
        echo -n .
        try=`expr $try + 1`
        sleep 1
      done
  }
  case “$1” in
      start)
        echo -n “Starting php-fpm “
        $php_fpm_BIN –daemonize $php_opts
        if [ “$?” != 0 ] ; then
              echo ” failed”
              exit 1
        fi
        wait_for_pid created $php_fpm_PID
        if [ -n “$try” ] ; then
              echo ” failed”
              exit 1
        else
              echo ” done”
        fi
      ;;
      stop)
        echo -n “Gracefully shutting down php-fpm “
        if [ ! -r $php_fpm_PID ] ; then
              echo “warning, no pid file found – php-fpm is not running ?”
              exit 1
        fi
        kill -QUIT `cat $php_fpm_PID`
        wait_for_pid removed $php_fpm_PID
        if [ -n “$try” ] ; then
              echo ” failed. Use force-quit”
              exit 1
        else
              echo ” done”
        fi
      ;;
      status)
        if [ ! -r $php_fpm_PID ] ; then
              echo “php-fpm is stopped”
              exit 0
        fi
        PID=`cat $php_fpm_PID`
        if ps -p $PID | grep -q $PID; then
              echo “php-fpm (pid $PID) is running…”
        else
              echo “php-fpm dead but pid file exists”
        fi
      ;;
      force-quit)
        echo -n “Terminating php-fpm “
        if [ ! -r $php_fpm_PID ] ; then
              echo “warning, no pid file found – php-fpm is not running ?”
              exit 1
        fi
        kill -TERM `cat $php_fpm_PID`
        wait_for_pid removed $php_fpm_PID
        if [ -n “$try” ] ; then
              echo ” failed”
              exit 1
        else
              echo ” done”
        fi
      ;;
      restart)
        $0 stop
        $0 start
      ;;
      reload)
        echo -n “Reload service php-fpm “
        if [ ! -r $php_fpm_PID ] ; then
              echo “warning, no pid file found – php-fpm is not running ?”
              exit 1
        fi
        kill -USR2 `cat $php_fpm_PID`
        echo ” done”
      ;;
      configtest)
        $php_fpm_BIN -t
      ;;
      *)
        echo “Usage: $0 {start|stop|force-quit|restart|reload|status|configtest}”
        exit 1
      ;;
  esac
  
  赋予权限
  chmod +x /etc/init.d/php-fpm

  启动
  # service php-fpm start
  Starting php-fpmdone

  # netstat -anpt |grep php-fpm
  tcp      0      0 127.0.0.1:9000            0.0.0.0:*                   LISTEN      16070/php-fpm

  配置nginx 支持php
  打开配置文件在server区块加入下面内容(这里是虚拟主机,网站根目录也在cj下面)
  server {
  listen       80;
  server_namewww.cj.com cj.com;
  charset utf-8;
  #access_log      logs/access_cj.log main;
  access_loglogs/access_cj.log;
  location / {
  root   html/cj;
  indexindex.html index.htm;
  }
  error_page   500 502 503 504/50x.html;
  location = /50x.html {
  root   html;
  }
  location ~ \.php$ {
              root         html;
              fastcgi_pass   127.0.0.1:9000;
              fastcgi_indexindex.php;
              fastcgi_param       SCRIPT_FILENAME   /usr/local/nginx/html/cj$fastcgi_script_name;
              include      fastcgi_params;
        }

  }
  




页: [1]
查看完整版本: centos6.5 安装php5.6