LAPM×××和php加速

实施环境:Centos 64位和PC机

LAPM源码的安装

1LAPM源码安装前的了解和准备

在上一篇博客《LAPM环境搭建和应用实例》中,已经了解了LAPM的含义,以及LAPM环境搭建所需几点:在Linux的操作系统上安装有Apache,在Linux的操作系统上安装有PHP,在Linux系统上安装有Mysql,所以源码的安装也是在Linux系统上安装这三个。前面LAPM环境的搭建都是使用rpm包实现的,这里我们使用的是源码安装,在使用源码安装前我们要了解一下PHP、Apache和mysql之间的联系,从而明白它们在安装过程中选择安装的先后顺序,三者之间的联系如下图所示:

LAPM×××和php加速器_第1张图片 

从上图我们可以看出在源码安装时,我们应该先安装httpd和mysql,最后在安装PHP。

在了解完安装先后顺序后,还要看看本机是否具有安装些服务的所具备的环境,这服务的安装所需的环境有:Development tools(开发工具)、Server Platform Development(服务器平台)和Additional Development(额外开发)。查看你本机是否安装可以使用命令yum   grouplist   |less这里没有需要安装一下,操作如下:

//挂载光盘

[root@huangzhong ~]# mount /dev/cdrom /media/cdrom

mount: block device /dev/sr0 is write-protected, mounting read-only

//安装开发环境

[root@huangzhong ~]# yum groupinstall 'Development tools'

[root@huangzhong ~]# yum groupinstall 'Additional Development'

[root@huangzhong ~]# yum groupinstall 'Server Platform'

服务安装环境搭建好后,下面接下来就是进行三个服务源码的安装。

2mysql的安装

首先到官网上下载mysql的软件包,然后使用ftp工具上传到根目录下(在上一篇已提过),上传后解压安装,这里所使用的软件包是二进制mysql-5.6.15-linux-glibc2.5-x86_64.tar.gz,具体安装步骤如下:

 现在卸载本机自带的mysql和mysql-server,然后安装mysql安装时所需的一些组件。

//卸载mysql和mysql-server

[root@huangzhong ~]# yum remove mysql mysql-server

//安装mysql所需的组件

[root@huangzhong ~]# yum install libaio

 拆包

因为mysql安装包为二进制安装包,所以把该软件包解压到/usr/local/目录下:

[root@huangzhong ~]# tar  -zxvf  mysql-5.6.15-linux-glibc2.5-x86_64.tar.gz   -C  /usr/local/

 进入解压的目录下为了方便操作创建软连接,然后创建mysql用户和mysql组,并且把mysql用户加入mysql组(解压后如果你不知道怎么操作可以到该文件解压后的目录下查看安装说明文件INSTALL-BINARY)。

//创建软连接

[root@huangzhong local]# ln -s mysql-5.6.15-linux-glibc2.5-x86_64/  mysql

//创建用户组(在创建时可能会显示已有,因为原来自带mysql已创建)

[root@huangzhong mysql]# groupadd  -r  mysql

//创建用户并加入mysql组

[root@huangzhong mysql]# useradd -r -g mysql  mysql

 进入创建好软连接mysql的目录下,查看该目录下文件,然后改变该目录下所有对象的所有者和所属组,然后进行初始化产生库文件,最后在把该目录下除data外所有对象的所有者改变回来,所属组不变。

//进入创建好软连接mysql的目录下

[root@huangzhong local]# cd mysql

//改变该目录下的所有对象的所属者和所属组

[root@huangzhong mysql]# chown -R mysql:mysql .  //点代表当前目录下所有

//进行初始化产生库文件

[root@huangzhong mysql]# ./scripts/mysql_install_db  --user=mysql

//初始化完后进入查看data目录下可以看到已经产生了许多库文件

[root@huangzhong mysql]# ll data/  //查看产生的库文件

//改回该目录下除data外所有对象的所有者

[root@huangzhong mysql]# chown  -R root .

[root@huangzhong mysql]# chown  -R mysql data/  //因为data目录下存放数据文件,为了能够读取和写入改变所有者为mysql或者给所属组可读写的权限。

 为了mysql能够正常的配置控制,所以要给予一个控制脚本和配置文件,因此需要以下操作:

//把该目录下的my.cnf拷贝到/etc目录下生成mysql server配置文件

[root@huangzhong mysql]# cp my.cnf /etc/  //覆盖掉旧文件

//把support-files目录下mysql.server拷贝到/etc/init.d目录下改名为mysqld,进而产生mysql-server控制脚本

[root@huangzhong mysql]# cp support-files/mysql.server   /etc/init.d/mysqld

//为了能够执行脚本所以要给予可执行权限

[root@huangzhong mysql]# chmod   a+x  /etc/init.d/mysqld

 启动mysql服务,查看端口,并且加入chkconfig管理,开启开机自动启动。

//启动mysql服务

[root@huangzhong mysql]# service mysqld start

Starting MySQL...                        [  OK  ]

//查看mysql的端口号

[root@huangzhong mysql]# netstat -tupln |grep mysql

tcp        0      0 :::3306          :::*                  LISTEN      19756/mysqld  //从这里可以看到mysql端口号已开启,切端口号为3306

//加入chkconfig管理中

[root@huangzhong mysql]# chkconfig --add mysqld

//启动开机自启

[root@huangzhong mysql]# chkconfig mysqld on

 接下来进行后续操作首先改变 PATH变量,接着改变mysql库文件的输出,最后操作man手册搜索路径

//改变 PATH变量,编辑/etc/profile文件

[root@huangzhong mysql]# vim /etc/profile

LAPM×××和php加速器_第2张图片 

//编辑完后,重新读取以下该文件或重启服务

[root@huangzhong mysql]# . /etc/profile

//改变mysql库文件的输出,操作如下:

[root@huangzhong mysql]# echo "/usr/local/mysql/lib" > /etc/ld.so.conf.d/mysql.conf

[root@huangzhong mysql]# ldconfig  //刷新加载缓存

//改变mysql在man手册中的搜索路径

[root@huangzhong mysql]# echo "MANPATH /usr/local/mysql/man" >>/etc/man.conf

 连接mysql查看能否连接,进去后查看数据库,由于初始时管理员没有密码为了安全还需要给管理员设置密码。

//连接mysql,然后查看数据库,具体如下:

LAPM×××和php加速器_第3张图片

//给管理员设置密码

[root@huangzhong ~]# mysqladmin -u root -p password '123'

Enter password:   //这里让输入密码,因为初始没有所以直接回车

到此mysql源码的安装已完成。

3httpd的源码安装

先到官网上下载httpd的软件包,然后使用ftp工具上传到根目录下(在上一篇已提过),上传后解压安装,这里所使用的软件包是httpd-2.4.9.tar.bz2,为了httpd的可移植性还需要两个先关的安装包aprapr-util,所以安装时先安装这两个,然后再安装httpd,具体安装步骤如下:

 安装apr,操作如下:

//解压安装包apr

[root@huangzhong ~]# tar -zxvf apr-1.4.6.tar.gz -C /usr/local/src/ 

//进入解压后的目录下:

[root@huangzhong ~]# cd /usr/local/src/apr-1.4.6/

//进行编译

[root@huangzhong apr-1.4.6]# ./configure --prefix=/usr/local/apr

//执行make和make install

[root@huangzhong apr-1.4.6]# make && make install

 安装apr-util,操作如下:

//解压安装包

[root@huangzhong ~]# tar -zxvf apr-util-1.5.1.tar.gz -C /usr/local/src/

//进入解压后的文件目录下:

[root@huangzhong src]# cd /usr/local/src/apr-util-1.5.1/

//进行编译

[root@huangzhong apr-util-1.5.1]# ./configure --prefix=/usr/local/apr-utils --with-apr=/usr/local/apr/bin/apr-1-config   //这里的参数如果不知道可以用后跟参数--help查看帮助

//执行make和make install

[root@huangzhong apr-util-1.5.1]# make && make install

 安装httpd,操作如下:

//先安装一个与http的相关联的包pcre-devel,如果没安装,在编译文件时会提示出错,在这里提前安装一下

[root@huangzhong ~]# yum install pcre-devel

//解拆安装包

[root@huangzhong ~]# tar -jxvf httpd-2.4.9.tar.bz2 -C /usr/local/src/

//进入解压后的目录下

[root@huangzhong ~]# cd /usr/local/src/httpd-2.4.9/

//进行编译

[root@huangzhong httpd-2.4.9]# ./configure  \

> --prefix=/usr/local/apache  \

> --sysconfdir=/etc/httpd \

> --enable-so \

> --enable-ssl  \

> --enable-rewrite  \

> --with-apr=/usr/local/apr/bin/apr-1-config \

> --with-apr-util=/usr/local/apr-utils/bin/apu-1-config \

> --with-pcre  \

> --with-z  \

> --enable-mpms-shared=all   

//执行make和make install

[root@huangzhong httpd-2.4.9]# make && make install

//改变PATH环境变量

LAPM×××和php加速器_第4张图片 

//重新读取该文件或重启该服务

[root@huangzhong httpd-2.4.9]# . /etc/profile

//改变手册的搜索路径

[root@huangzhong httpd-2.4.9]# echo "MANPATH /usr/local/apache/man" >>/etc/man.conf

//创建控制脚本文件

[root@huangzhong ~]# vim /etc/init.d/httpd 

//给予可以执行权限

[root@huangzhong ~]# chmod a+x /etc/init.d/httpd 

//编辑脚本文件,编辑内容如下:

LAPM×××和php加速器_第5张图片 

LAPM×××和php加速器_第6张图片 

//编辑完后保存退出,启动httpd服务

[root@huangzhong ~]# service httpd start

//查看端口号是否开启

[root@huangzhong ~]# netstat -tupln |grep httpd

tcp        0      0 :::80            :::*               LISTEN      14008/httpd    //表明httpd已启动,端口80

//把httpd加入chkconfig管理中

[root@huangzhong ~]# chkconfig --add httpd

//开启开机自启

[root@huangzhong ~]# chkconfig httpd on

//然后在网页上测试httpd能否正常工作,能否访问到该网站,结果如下:

LAPM×××和php加速器_第7张图片 

到此httpd的安装就完成了,并且已正常工作。

4PHP的源码安装

先到官网www.php.net上下载PHP的软件包,然后使用ftp工具上传到根目录下(在上一篇已提过),上传后解压安装,这里所使用的软件包是 php-5.5.8.tar.bz2具体安装步骤如下:

 拆解PHP安装包

[root@huangzhong ~]# tar -jxvf php-5.5.8.tar.bz2  -C /usr/local/src/

 进入解压后的目录下,执行./configure进行编译

//进入解压后的目录

[root@huangzhong ~]# cd /usr/local/src/php-5.5.8/

//执行./configure进行编译

[root@huangzhong php-5.5.8]# ./configure  \

> --prefix=/usr/local/php \

> --with-config-file-path=/etc/php  \

> --with-config-file-scan-dir=/etc/php5.d  \

> --with-apxs2=/usr/local/apache/bin/apxs  \

> --with-mysql=/usr/local/mysql \

> --with-mysqli=/usr/local/mysql/bin/mysql_config \

> --enable-mbstring=all    //这些参数如果不知道可以使用--help帮助

 执行make和make install

[root@huangzhong php-5.5.8]# make && make install

 因为在执行编译时参数中指定了/etc目录下的文件php和php5.d所以在/etc目录下创建php和php5.d目录

[root@huangzhong php]# mkdir -pv /etc/php /etc/php5.d

//把解压后的目录下php.ini-development拷贝到/etc/php/下

[root@huangzhong php-5.5.8]# cp php.ini-development /etc/php/php.ini

 打开/etc/httpd/httpd.conf编辑内容如下:

[root@huangzhong modules]# vim /etc/httpd/httpd.conf

LAPM×××和php加速器_第8张图片 

 编辑完后重新启动httpd服务,然后进入Apache主站点目录下编辑测试网页然后进行测试

//重新启动httpd服务

[root@huangzhong ~]# service httpd restart

到Apache的站点主目录下,编辑测试网页,测试http与php的结合

//编辑测试网页,编辑内容如下

[root@huangzhong htdocs]# vim index.php

wKioL1OVg-mwi_tlAAAduimMcjo180.jpg

//进行测试,测试php与httpd的结合,结果如下:

LAPM×××和php加速器_第9张图片 

编辑测试网页,测试php与mysql的结合。

//编辑测试网页,编辑内容如下:

[root@huangzhong htdocs]# vim index.php

LAPM×××和php加速器_第10张图片 

//从网页上浏览侧,结果如下:

LAPM×××和php加速器_第11张图片 

到此为止php已安装完成。

二、PHP的加速器

1PHP加速器的简介

PHP加速器是一个为了提高PHP执行效率,从而缓存起PHP的操作码,这样PHP后面执行就不用解析转换了,可以直接调用PHP操作码,这样速度上就提高了不少。PHP加速器包含有APCTurck MMCachePHPAZend Performance Suite

XCache以及PHP内自带的opcache


(1)APC运行于Linux和FreeBSD,你需要自己编译安装。按照其开发人员的说法,在他们的测试环境下可以提高脚本速度50%-400%。并且APC是个开源项目,已经加入了PHP的PECL库,很值得一试。


(2)Turck MMCache似乎是此类软件中目前最受欢迎的一种,它开放源代码,完全免费。它将PHP代码预编译并缓存起来,同时也对PHP运行环境进行一定优化。按照其官方文档的说法,MMCache可以明显地减轻服务器的负载,并提高脚本执行速度1-10倍。


(3)PHPA又是另一个流行的PHP加速软件。在其官方网站上有分别使用PHPA与APC、Zend Cache的PHP脚本执行测试对比,其表现略优于APC,略逊于Zend Cache。


(4)Zend Performance Suite是老牌的PHP加速/优化软件,依托于PHP领域最知名的Zend公司。目前已经推出4.0版本,它可以为PHP应用提供程序加速,内容缓存,文件压缩,下载服务等,功能十分强大,获得好几个PHP杂志的推荐奖—但是不得不提起,它也很昂贵,目前的价格是1875美元。


(5)XCache:XCache 是一个开源的 opcode 缓存器/优化器, 这意味着他能够提高您服务器上的 PHP 性能.他通过把编译 PHP 后的数据缓冲到共享内存从而避免重复的编译过程, 能够直接使用缓冲区已编译的代码从而提高速度. 通常能够提高您的页面生成速率 2 到5 倍, 降低服务器负载

以上几种加速软件,希望读者按照服务器环境自行测试并选择其中最适用的,因为我没有办法提供一个普遍适用的测试标准来判断哪种方案是最有效的。综合起来看,我个人认为XCache是个值得推荐的选择,免费而且功能相当出色,下面简单介绍XCache的应用

2PHP加速器XCache的安装和应用

(1)XCache的安装配置

在安装XCache前,首先到官网上该软件安装包,然后把安装包上传到根目录下,最后进行安装。

//解压安装包

[root@huangzhong ~]# tar   -zxvf  xcache-3.1.0.tar.gz  -C  /usr/local/src

//进入解压后的目录下找到安装说明文件INSTALL

[root@huangzhong htdocs]# cd /usr/local/src/xcache-3.1.0/

//打开INSTALL文件查看安装说明如下:

[root@huangzhong xcache-3.1.0]# vim INSTALL

LAPM×××和php加速器_第12张图片 

//按照安装说明初始化产生config文件

[root@huangzhong xcache-3.1.0]# /usr/local/php/bin/phpize

//产生config后进行编译文件

[root@huangzhong xcache-3.1.0]# ./configure  \--enable-xcache  --with-php-config=/usr/local/php/bin/php-config

//编译后执行make和make install

[root@huangzhong xcache-3.1.0]# make && make install 

//把xcache.ini拷贝到/etc/php5.d/中

[root@huangzhong xcache-3.1.0]# cp xcache.ini /etc/php5.d/

//然后编辑/etc/php5.d/xcache.ini如下:

[root@huangzhong xcache-3.1.0]# vim /etc/php5.d/xcache.ini

LAPM×××和php加速器_第13张图片 

//编辑完后重新启动httpd服务

[root@huangzhong xcache-3.1.0]# service httpd restart

//然后通过网页访问index.php查看xcache是否应用具体如下:

LAPM×××和php加速器_第14张图片 

 

(2)XCache的web界面的管理

Xcache安装完后进入安装目录下,看到一个htdocs目录,然后把该目录下的文件拷贝到/usr/local/apache/htdocs/目录下命名为admin。

//进入安装目录下

[root@huangzhong htdocs]# cd /usr/local/src/xcache-3.1.0/

//拷贝htdocs下文件

[root@huangzhong xcache-3.1.0]# cp -r htdocs/ /usr/local/apache/htdocs/admin

//然后切换到/usr/local/apache/htdocs/目录下

[root@huangzhong xcache-3.1.0]# cd /usr/local/apache/htdocs/

//然后通过页面进行访问,具体如下:

LAPM×××和php加速器_第15张图片 

//需要身份验证所以要编辑文件/etc/php5.d/xcache.ini,编辑如下:

[root@huangzhong htdocs]# vim /etc/php5.d/xcache.ini

LAPM×××和php加速器_第16张图片 

//重新通过页面访问结果如下:

LAPM×××和php加速器_第17张图片 

//输入用户名admin,密码123登陆结果如下:

LAPM×××和php加速器_第18张图片