2016年5月

centos6.5 安装 nginx+php7+mysql

nginx、mysql您可以选择源码编译安装三部曲,当然centos下yum install实在是太方便了。

至于PHP7,由于我之前编译5.6踩过各种基本的坑,所以对于./configure基本已经熟悉,下面是我的配置:
./configure --prefix=/usr/local/php7 --enable-fpm --with-fpm-user=user --with-fpm-group=user --with-libxml-dir=/usr --with-openssl --with-openssl-dir=/usr --with-pcre-regex --with-zlib --with-zlib-dir=/usr --with-curl --with-gd --with-webp-dir=/usr --with-jpeg-dir=/usr --with-png-dir=/usr --with-freetype-dir=/usr --enable-mbstring --with-mcrypt=/usr --with-mysqli --with-mysql-sock=/var/lib/mysql/mysql.sock --with-pdo-mysql --with-readline --enable-sockets --enable-zip --with-pear

说明:

  1. 先解决库依赖,例如--with-jpeg-dir依赖libjpeg,我们就要先 yum install libjpeg libjpeg-devel
  2. 当configure失败原因诸如 缺少 xxx.h ,安装对应的 xxx-devel就可以解决。(因为,在代码中使用共享库如果是动态加载的话,可以不需要头文件等,因为编译时根本用不着;但如果是静态加载的话,也就是此时的情况,则需要对应版本的头文件,因此需要安装xxx-devel包)
  3. to be continued

附:重启Nginx/MySQL/PHP-FPM的shell脚本

#! /bin/sh
# Nginx/MySQL/PHP-FPM restart

/etc/init.d/nginx restart
/etc/init.d/mysqld restart
kill -9 `ps aux | grep php-fpm | grep -v grep|tr -s ' '|cut -d ' ' -f2|awk -v RS="" ' { gsub("\n", " "); print } '`
echo "php-fpm killed"
/usr/local/php7/sbin/php-fpm
echo "php-fpm started"