上一节我们讲过了如何在CentOS7.0下安装MySql服务,如果没有看到欢迎页面的朋友,可以加我的个人微信详聊:litao514148204

附上一节地址:http://www.cnblogs.com/riverdubu/p/6426852.html

关于php-fpm

nginx本身不能处理PHP,它只是个web服务器,当接收到请求后,如果是php请求,则发给php解释器处理,并把结果返回给客户端。

nginx一般是把请求发fastcgi管理进程处理,fascgi管理进程选择cgi子进程处理结果并返回被nginx。

PHP-FPM是一个PHP FastCGI管理器,是只用于PHP的。

PHP在 5.3.3 之后已经讲php-fpm写入php源码核心了。所以已经不需要另外下载了。

获取PHP下载地址

为什么选择5.6.30这个版本,因为学习,不是研究。诚然,7.0新增了很多PHP的新特性,性能上面也有些提升,如果是研究,倒是可以折腾一番,后面得空再讲7.0的版本以及如何在各个PHP版本之间切换。

打开php的官网:http://php.net/,查看php的版本列表

右击,复制链接地址,在远程主机登录,下载该软件(我选的是Australia的主机mirror下载的)

# wget  http://au1.php.net/get/php-5.6.30.tar.gz/from/this/mirror

下载下来的是一个mirror文件,改成我们需要的文件名

#mv mirror php-5.6..tar.gz
#tar zxvf php-5.6..tar.gz
#cd php-5.6.

配置安装

进入到目录,我们需要在安装的时候将安装目录配置到/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. distribution

安装libxslt相关组件

#yum install libxslt-devel

好的,当我们看到下面这句话的时候,说明你的php已经配置完成啦!

接下来我们只需要编译安装即可完成php的安装

#make && make install

看到这句话,表明安装完成!

为了保险起见,我们make test一把,看看是否真的成功了。

配置相关

php.ini配置

首先我们需要配置的是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配置

拷贝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 - 进程号
#/etc/init.d/php-fpm

配置Nginx支持PHP

进入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

上面是我的问题,请大家及时更正。

【CNMP系列】CentOS7.0下安装PHP5.6.30服务的更多相关文章

  1. 【CNMP系列】CentOS7.0下安装MySql5.6服务

    接上一回的话,CentOS7.0下安装好了Nginx服务,对于我们的CNMP,我们可以开始我们的M啦,就是传统意义上的MySql服务 MySql简介 MySQL是一个关系型数据库管理系统,由瑞典MyS ...

  2. 【Linux】CentOS7.0下安装JDK环境

    写在前面:此次试验是在CentOS7上面安装的,亲测成功. 所需工具:JDK1.8安装包,xftp 具体步骤: 1,首先使用xftp连接到自己的虚拟机,然后查看是否有"/usr/java/j ...

  3. 【Tomcat】CentOS7.0下安装多个Tomcat及其配置

    安装前所需环境 在开始安装Tomcat之前,需要安装环境JDK,并配置JAVA环境.如果不知道如何配置,可参考这篇博客:[Linux]CentOS7.0下安装JDK环境 Tomcat安装 Tomcat ...

  4. CentOS7.0下安装FTP服务的方法

    http://www.jb51.net/article/106604.htm   本篇文章主要介绍了CentOS7.0下安装FTP服务的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考.一起跟 ...

  5. 【CNMP系列】CentOS7.0下安装Nginx服务

    话步前言,CNMP之路,系统起步:http://www.cnblogs.com/riverdubu/p/6425028.html 这回我来讲解下CentOS7.0下如何安装和配置Nginx服务 Ngi ...

  6. centos7.0 下安装jdk1.8

    centos7.0这里安装jdk1.8采用yum安装方式,非常简单. 1.查看yum库中jdk的版本 [root@localhost ~]# yum search java|grep jdk 2.选择 ...

  7. 【Nginx】Nginx简介及在CentOS7.0下安装教程

    是什么 Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行.其特点是占有内存少,并发能力强,事实上nginx的并发能 ...

  8. 【转载】CentOS7.0下安装Telnet

    1..先检查CentOS7.0是否已经安装以下两个安装包:telnet-server.xinetd.命令如下: # rpm -qa telnet-server # rpm -qa xinetd 如果没 ...

  9. 【CNMP系列】CentOS7.0下安装FTP服务

    一个小插曲,安装一个FTP服务,便于和远程服务器的文件沟通.后续我们会讲到如何使用Capistrano配合git完成服务器的代码部署以及发布流程.现在,代码先走FTP吧,挺稳. FTP简介 FTP 是 ...

随机推荐

  1. HttpListener 实现web服务端

    1. using System; using System.Collections.Generic; using System.Linq; using System.Text; using Syste ...

  2. Repeater绑定事件ItemDataBound中获取数据库中数据

    protected void rp1_ItemDataBound(object sender, RepeaterItemEventArgs e)        { if (e.Item.ItemTyp ...

  3. 关于Inflater

    在实际开发中LayoutInflater这个类还是非常有用的,它的作用类似于findViewById().不同点是LayoutInflater是用来找res/layout/下的xml布局文件,并且实例 ...

  4. jmeter接口测试实践

    一.什么是接口测试? 接口测试是测试系统组件间接口的一种测试.接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点.测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻 ...

  5. ubuntu修改环境变量

    1.修改/etc/profile后重启之后就失效了,需要修改/etc/environment才可以 以下情况是失败的: 在/etc/profile文件中添加变量[对所有用户生效(永久的)] 用VI在文 ...

  6. 位运算,算术、逻辑运算详解-java篇

    /** * 功能: * 位运算符,原码.反码.补码规则: * 1.二进制的最高位是符号位:0表示正数,1表示负数 * 2.正数的原码.反码.补码都一样 * 3.负数的反码=它的原码符号位不变,其他位取 ...

  7. js原生设计模式——12装饰者模式

    1.面向对象模式装饰者 <!DOCTYPE html><html lang="en"><head>    <meta charset=&q ...

  8. iostat中 %util高 应用延迟高

    经过长时间监控,发现iostat 中的%util居高不下,一直在98%上下,说明带宽占用率极高,遇到了瓶颈. 且读写速度很慢,经过排查,发现是HBA卡出现问题,更换后,用dd if命令测试,磁盘的读写 ...

  9. C# 从字符串向 datetime 转换时失败

    更改电脑的日期类型即可,把短日期和长日期修改下面的样子即可:

  10. Web项目或WCF发布IIS后,如何通过VS2010调试

    在做项目的时候,例如WCF服务一般都会将WCF服务承载于控制台应用程序,或者WinForm窗体应用程序,因为这样可以直接在服务代码上打断点,然后就可以调试了.但是项目已经发布了,当然这里我用的本机进行 ...