ytutr 发表于 2016-8-31 08:33:19

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