1.安装php7.0
下载
# wget http://cn2.php.net/distributions/php-7.0.4.tar.gz
解压安装
# tar zxvf php-7.0.4.tar.gz
# cd php-7.0.4
首先查看安装帮助
#
./configure --help
设置配置
./configure \
--prefix=/usr/local/php7 \
--exec-prefix=/usr/local/php7 \
--prefix=/usr/local/php7 \
--exec-prefix=/usr/local/php7 \
--with-config-file-path=/usr/local/php7/etc \
--with-curl \
--with-freetype-dir \
--with-gd \
--with-gettext \
--with-iconv-dir \
--with-kerberos \
--with-libdir=lib64 \
--with-libxml-dir \
--with-mysqli \
--with-openssl \
--with-pcre-regex \
--with-pdo-mysql \
--with-pdo-sqlite \
--with-pear \
--with-png-dir \
--with-xmlrpc \
--with-xsl \
--with-zlib \
--with-freetype-dir \
--with-gd \
--with-gettext \
--with-iconv-dir \
--with-kerberos \
--with-libdir=lib64 \
--with-libxml-dir \
--with-mysqli \
--with-openssl \
--with-pcre-regex \
--with-pdo-mysql \
--with-pdo-sqlite \
--with-pear \
--with-png-dir \
--with-xmlrpc \
--with-xsl \
--with-zlib \
--with-zlib-dir \
--with-mhash \
--with-mcrypt \
--with-openssl-dir \
--with-jpeg-dir \
--enable-gd-jis-conv \
--enable-fpm \
--enable-bcmath \
--enable-libxml \
--enable-inline-optimization \
--enable-gd-native-ttf \
--enable-mbregex \
--enable-mbstring \
--enable-opcache \
--enable-pcntl \
--enable-shmop \
--enable-soap \
--enable-sockets \
--enable-sysvsem \
--enable-xml \
--with-mcrypt \
--with-openssl-dir \
--with-jpeg-dir \
--enable-gd-jis-conv \
--enable-fpm \
--enable-bcmath \
--enable-libxml \
--enable-inline-optimization \
--enable-gd-native-ttf \
--enable-mbregex \
--enable-mbstring \
--enable-opcache \
--enable-pcntl \
--enable-shmop \
--enable-soap \
--enable-sockets \
--enable-sysvsem \
--enable-xml \
--enable-maintainer-zts \
--enable-zip
如果配置错误,需要安装需要的模块,直接yum一并安装依赖库
# yum -y install libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel mysql pcre-devel
# yum -y install curl-devel
# yum -y install libxslt-devel
编译安装
# make && make install
1.设置配置文件
# cp php.ini-production /usr/local/php7/etc/php.ini
php.ini-development 适合开发测试,如本地测试环境, php.ini-production拥有较高的安全性设定,适合服务器上线运营当产品。一般修改php.ini-production为php.ini,安全性更高,确保测试环境(本地)与正式环境(线上)一致
# cp /usr/local/php7/etc/php-fpm.conf.default /usr/local/php7/etc/php-fpm.conf
# cp /usr/local/php7/etc/php-fpm.d/www.conf.default /usr/local/php7/etc/php-fpm.d/www.conf
# cp /usr/local/php7/etc/php-fpm.d/www.conf.default /usr/local/php7/etc/php-fpm.d/www.conf
# cp ./sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
2.加入服务
# chmod +x /etc/init.d/php-fpm
# chkconfig --add php-fpm
需要注意的是php7中www.conf这个配置文件配置phpfpm的端口号等信息,如果你修改默认的9000端口号需在这里改,再改nginx的配置
启动
# /etc/init.d/php-fpm start
# /etc/init.d/php-fpm start
安装Memcached扩展
#需要安装libmemcached最新版本(所需组件)
wget https:
//launchpad.net/libmemcached/1.0/1.0.18/+download/libmemcached-1.0.18.tar.gz
tar -zxvf libmemcached-1.0.18.tar.gz
cd libmemcached-1.0.18
./configure --prefix=/usr/local/libmemcached
make && make install
#安装memcached扩展
git
clone
https:
//github.com/php-memcached-dev/php-memcached -b php7
cd php-memcached
phpize (注意这里必须在php-memcached目录中执行 换句话说就是必须在扩展所在的目录中执行 其他扩展也一样)
./configure --with-libmemcached-dir=/usr/local/libmemcached
--disable-memcached-sasl --with-php-config=/usr/local/php7/bin/php-config
make && make install
vi /usr/local/php7/etc/php.ini
添加 extension= /usr/local/php7/lib/php/extensions/no-debug-zts-20151012/memcached.so
2.安装nginx
查看nginx相关信息
yum list | grep nginx
collectd-nginx.x86_64 4.10.9-1.el6 epel
munin-nginx.noarch 2.0.25-2.el6 epel
nginx.x86_64 1.0.15-11.el6 epel
nginx-filesystem.noarch 1.0.15-11.el6 epel
owncloud-nginx.noarch 7.0.5-2.el6 epel
yum info nginx
Loaded plugins: security
Available Packages
Name : nginx
Arch : x86_64
Version : 1.0.15
Release : 11.el6
Size : 404 k
Repo : epel
Summary : A high performance web server and reverse proxy server
URL : http://nginx.org/
License : BSD
Description : Nginx is a web server and a reverse proxy server for HTTP, SMTP, POP3 and
: IMAP protocols, with a strong focus on high concurrency, performance and
: low memory usage.
发现版本很低,于是追加 nginx 的 yum 仓库,创建一个文件 /etc/yum.repos.d/nginx.repo,并将下面的内容复制进去
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=0
enabled=1
编辑并保存/etc/yum.repos.d/nginx.repo文件后,在命令行下执行
yum list | grep nginx
collectd-nginx.x86_64 4.10.9-1.el6 epel
munin-nginx.noarch 2.0.25-2.el6 epel
nginx.x86_64 1.6.3-1.el6.ngx nginx
nginx-debug.x86_64 1.6.3-1.el6.ngx nginx
nginx-debuginfo.x86_64 1.6.3-1.el6.ngx nginx
nginx-filesystem.noarch 1.0.15-11.el6 epel
nginx-nr-agent.noarch 2.0.0-7.el6.ngx nginx
owncloud-nginx.noarch 7.0.5-2.el6 epel
发现最新的稳定版1.6.3,于是直接执行
yum install nginx -y
安装完成,下面直接就可以启动Nginx了:
/etc/init.d/nginx start
Starting nginx: [ OK ]
现在Nginx已经启动了,直接访问服务器就能看到Nginx欢迎页面了的。
Nginx的命令以及配置文件位置:
/etc/init.d/nginx start # 启动Nginx服务
/etc/init.d/nginx stop # 停止Nginx服务
/etc/nginx/nginx.conf # Nginx配置文件位置
3.整合Nginx与PHP
Nginx自己并不处理动态网页的请求,而且Nginx将得到的动态请求转交给PHP,我们打开Nginx的配置文件看一下
vi /etc/nginx/conf.d/default.conf //标的部分是我们后面要修改的
看上图,Nginx已经知道怎么把得到的请求传达给PHP,Nginx在得到*.php请求时,会把请求通过9000端口传给PHP。下面我们把这些注释给去掉即可,如下图
如上图所示,我们在前面已经看到过Nginx是通过本机的9000端口将PHP请求转发给PHP的,而上图我们可以看到PHP自己是从本机的9000端口侦听数据 ,Nginx与PHP通过本机的9000端口完成了数据请求。
4.测试
我们在nginx的配置文件里面已经定义了PHP网站的存放路径,路径是/usr/share/nginx/html
下面我们在这个目录下新建一个PHP页面测试网页,文件名为test.php,内容如下
<?php
phpinfo();
?>
关闭php
killall php-fpm
php重启
/usr/local/php/sbin/php-fpm &
关闭nginx
/usr/sbin/nginx -s stop //关闭服务器
重启nginx
/usr/sbin/nginx 开启服务器