上一节咱们讲过了如何在CentOS7.0下安装MySql服务,若是没有看到欢迎页面的朋友,能够加个人我的微信详聊:litao514148204php
附上一节地址:http://www.cnblogs.com/riverdubu/p/6426852.htmlhtml
nginx自己不能处理PHP,它只是个web服务器,当接收到请求后,若是是php请求,则发给php解释器处理,并把结果返回给客户端。mysql
nginx通常是把请求发fastcgi管理进程处理,fascgi管理进程选择cgi子进程处理结果并返回被nginx。nginx
PHP-FPM是一个PHP FastCGI管理器,是只用于PHP的。web
PHP在 5.3.3 以后已经讲php-fpm写入php源码核心了。因此已经不须要另外下载了。sql
为何选择5.6.30这个版本,由于学习,不是研究。诚然,7.0新增了不少PHP的新特性,性能上面也有些提高,若是是研究,却是能够折腾一番,后面得空再讲7.0的版本以及如何在各个PHP版本之间切换。vim
打开php的官网:http://php.net/,查看php的版本列表api
右击,复制连接地址,在远程主机登陆,下载该软件(我选的是Australia的主机mirror下载的)浏览器
# wget http://au1.php.net/get/php-5.6.30.tar.gz/from/this/mirror
下载下来的是一个mirror文件,改为咱们须要的文件名服务器
#mv mirror php-5.6.30.tar.gz #tar zxvf php-5.6.30.tar.gz #cd php-5.6.30
进入到目录,咱们须要在安装的时候将安装目录配置到/usr/local/php/里
#./configure --prefix=/usr/local/php --with-curl --with-freetype-dir --with-gd --with-gettext --with-iconv-dir --with-kerberos --with-libdir=lib64 --with-libxml-dir --with-MySQL --with-mysqli --with-openssl --with-pcre-regex --with-pdo-mysql --with-pdo-sqlite --with-pear --with-png-dir --with-xmlrpc --with-xsl --with-zlib --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-zip
配置的过程当中可能会报以下错误
错误1:
xml2-config not found. Please check your libxml2 installation.
解决办法
安装libxml2相关组件
#yum install libxml2 #yum install libxml2-devel -y
错误2:
Please reinstall the libcurl distribution - easy.h should be in <curl-dir>/include/curl/
安装curl相关组件
#yum install curl curl-devel
错误3:
configure: error: png.h not found.
安装libpng相关组件
#yum install libpng #yum install libpng-devel
错误4:
freetype-config not found.
安装freetype相关组件
#yum install freetype-devel
错误5:
xslt-config not found. Please reinstall the libxslt >= 1.1.0 distribution
安装libxslt相关组件
#yum install libxslt-devel
好的,当咱们看到下面这句话的时候,说明你的php已经配置完成啦!
接下来咱们只须要编译安装便可完成php的安装
#make && make install
看到这句话,代表安装完成!
为了保险起见,咱们make test一把,看看是否真的成功了。
首先咱们须要配置的是php.ini这个文件
安装目录有2个文件:php.ini-development和php.ini-production
php.ini-production 线上版本使用
php.ini-development 开发版本使用
咱们选择development进行配置
# cp php.ini-development /usr/local/php/lib/php.ini
拷贝php-fpm配置文件
#cp -R ./sapi/fpm/php-fpm.conf /usr/local/php/etc/php-fpm.conf
拷贝启用文件
#cp -R ./sapi/fpm/php-fpm /etc/init.d/php-fpm(已弃用,详细的见注1)
启动
#/etc/init.d/php-fpm
查看php是否启动成功
#ps aux | grep php
看到这些,代表你的php已经启动成功啦!
重启及关闭
#kill -9 进程号 #/etc/init.d/php-fpm
进入nginx主目录,/usr/local/nginx;
#cd /usr/local/nginx
进入配置目录
#cd conf
Nginx支持PHP须要修改nginx.conf
#vim nginx.conf
代开下面代码,让Nginx支持PHP,在server代码段里。
修改完,这段代码变为,红色部分为咱们主机目录为/usr/www,须要修改fastcgi_param SCRIPT_FILENAME指向对应目录便可:
设置主目录设置为/usr/www。
注释掉root那行,新增一行:root /usr/www;
保存退出。
根据Nginx章的解释,咱们重启Nginx服务。
#/etc/init.d/nginx restart
若是你没有按照咱们在Nginx的方法配置,能够按照如下的方式重启Nginx服务
# /usr/local/nginx/sbin/nginx -s reload
重启成功!下面咱们在/usr/www目录下添加一个新文件。
#vim /usr/www/phpinfo.php
插入如下内容
<?php phpinfo(); ?>
在浏览器中打开http://远程ip/phpinfo.php
看到这个页面,恭喜你,你的PHP已经安装配置完成。你能够在这个页面看到全部php依赖的组件,下一节我将和你们详细讲解一下这个页面,若是对本节有什么疑问的,欢迎在评论区和我交流讨论,有留言必回。^_^
设置php开机自启动与开启php服务便捷方式
上面的方法中,我在拷贝php-fpm的服务时出了问题,不该该直接将php-fpm的可执行文件拷贝到/etc/init.d/目录下去,应该将php给咱们准备好的init.d.php-fpm。
#cp ./sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
将php-fpm服务添加到chkconfig列表
#chkconfig --add php-fpm
设置开机自启动
#chkconfig php-fpm on
之后重启和中止php的方式为
#service php-fpm start #service php-fpm stop #service php-fpm restart #service php-fpm reload
上面是个人问题,请你们及时更正。