Web Service之LAMP- 1 基于模块化编译安装以及 Xcache实现PHP的加速
2014-03-25 00:50
791 查看
LAMP的理解:
LAMP:是Linux+Apache+Mysql+Perl/PHP/Python一组常用来搭建动态网站或者服务器的开源软件,本身都是各自独立的程序,但是因为常被放在一起使用,拥有了越来越高的兼容度,共同组成了一个强大的Web应用程序平台.
Web Service之LAMP- 2 基于FastCGI 的编译安装以及 Xcache实现PHP的加速:
/article/4506630.html
第一部分: 编译安装过程的顺序: httpd 2.4.9 + mysql-5.5.33 + php-5.4.26:
一、安装mysql-5.5.33:
前提:
准备好开发包以及依赖包并且安装好.
1.准备数据存放的文件系统:
新建一个逻辑卷,并将其挂载至特定目录即可。
这里假设其逻辑卷的挂载目录为/mydata,而后需要创建/mydata/data目录做为mysql数据的存放目录。
1).创建分及/data目录:
![](http://s3.51cto.com/wyfs02/M01/23/94/wKiom1M7CqLx_4DEAAFYcui7UIY074.jpg)
2).创建LVM(方便以后开机不足时扩展.)
![](http://s3.51cto.com/wyfs02/M00/23/95/wKioL1M7CpHTIAWZAAI9AYtvHXo734.jpg)
3).格式化文件系统且配置为开机自动挂载:
![](http://s3.51cto.com/wyfs02/M02/23/94/wKiom1M7CtaisKEbAAFwKDWtNEw016.jpg)
4).创建mydata目录,且修改目录的属主属组:
![](http://s3.51cto.com/wyfs02/M01/23/95/wKioL1M7Csuz2aDLAAEV5rmQiSY160.jpg)
2.新建用户以安全方式运行进程:
![](http://s3.51cto.com/wyfs02/M00/23/94/wKiom1M7Cwngi6R0AABkcAetNko318.jpg)
3.安装并初始化mysql-5.5.33:
1).解压安装包且创建软链接(方便以后升级):
![](http://s3.51cto.com/wyfs02/M02/23/95/wKioL1M7CvihpPWcAADa__-OgCw115.jpg)
2).初始化系统库:
![](http://s3.51cto.com/wyfs02/M01/23/94/wKiom1M7CzXiGaPiAAEjB10-Eos566.jpg)
2.为mysql提供sysv服务脚本:
![](http://s3.51cto.com/wyfs02/M00/23/95/wKioL1M7CyLA1-KhAABbG7AYHnE179.jpg)
3.添加至服务列表:
![](http://s3.51cto.com/wyfs02/M02/23/94/wKiom1M7C16QJZqnAADRzv9gKgo584.jpg)
4.提供配置文件(我的是双核的,所以改为4):
![](http://s3.51cto.com/wyfs02/M01/23/95/wKioL1M7C0vxbs47AAE3-MqdX_M714.jpg)
5.启动mysqld服务:
![](http://s3.51cto.com/wyfs02/M00/23/94/wKiom1M7C5nDWESLAAGGysNTf5o569.jpg)
6.查看套接字文件:
![](http://s3.51cto.com/wyfs02/M02/23/95/wKioL1M7C4-Sov0HAACI3ZaCVHo913.jpg)
注意rpm包安装时路径为:/var/lib/mysql.
7.如何连接mysql呢??
1).修改PATH环境变量,让系统可以直接使用mysql的相关命令:
![](http://s3.51cto.com/wyfs02/M01/23/94/wKiom1M7C87Rvu5MAADA-KhA5E8056.jpg)
2).连接到mysql上查看版本:
![](http://s3.51cto.com/wyfs02/M00/23/95/wKioL1M7C7uwJ7T3AADEK29jhlw047.jpg)
3).删除匿名用户:
![](http://s3.51cto.com/wyfs02/M01/23/95/wKioL1M7C_fC4yUXAABxfMS-jZ0485.jpg)
-->如果不确定,就先查看下:
![](http://s3.51cto.com/wyfs02/M00/23/94/wKiom1M7DDez1xSaAAG_tsXQTmk711.jpg)
4).修改密码:
Ⅰ.一次修改一个密码:
![](http://s3.51cto.com/wyfs02/M02/23/95/wKioL1M7DCrQ16lfAAJm3IkV2Gw272.jpg)
Ⅱ.修改全部用户的密码:
![](http://s3.51cto.com/wyfs02/M01/23/95/wKioL1M7DEOhsLd3AAMfHBIJoqY748.jpg)
Ⅲ.测试登陆:
![](http://s3.51cto.com/wyfs02/M01/23/94/wKiom1M7DILytZ1IAABFOKvy6aQ122.jpg)
Ⅳ.在家目录下创建隐藏文件.my.cnf,(不用手动输入密码,在连接mysql时自动连接.):
![](http://s3.51cto.com/wyfs02/M00/23/95/wKioL1M7DHDjISZPAAHPBoXMZaQ204.jpg)
8.导出库文件、头文件:
![](http://s3.51cto.com/wyfs02/M02/23/94/wKiom1M7DNaB1jpRAAS1ivoo_oI735.jpg)
二、编译安装apache;
1.解决依赖关系:
httpd-2.4.9需要较新版本的apr和apr-util,因此需要事先对其进行升级. 升级方式有两种: 一种是通过源代码编译安装,一种是直接升级rpm包. --> 这里选择使用编译源代码的方式进行.
1).安装pcre-devel包(开发包组件)-> httpd-2.4.9编译过程也要依赖于pcre-devel软件包,需要事先安装,此软件包系统光盘自带:
![](http://s3.51cto.com/wyfs02/M01/23/95/wKioL1M7DMXymCjiAAA38wkepJ8743.jpg)
2.安装apr、apr-util:
1).编译安装apr-1.5.0:
![](http://s3.51cto.com/wyfs02/M00/23/94/wKiom1M7DQLiapzgAADcSTZq3d4135.jpg)
2).编译安装apr-util-1.5.3:
![](http://s3.51cto.com/wyfs02/M00/23/94/wKiom1M7DRaCVFxvAAEU8fAlKko514.jpg)
3.编译安装httpd-2.4.9:
1).安装:
(1)构建MPM为静态模块
在全部平台中,MPM都可以构建为静态模块。在构建时选择一种MPM,链接到服务器中。如果要改变MPM,必须重新构建。为了使用指定的MPM,请在执行configure脚本时,使用参数 --with-mpm=NAME。NAME是指定的MPM名称。编译完成后,可以使用 ./httpd -l 来确定选择的MPM。 此命令会列出编译到服务器程序中的所有模块,包括 MPM。
(2)构建 MPM 为动态模块
在Unix或类似平台中,MPM可以构建为动态模块,与其它动态模块一样在运行时加载。 构建 MPM 为动态模块允许通过修改LoadModule指令内容来改变MPM,而不用重新构建服务器程序。在执行configure脚本时,使用--enable-mpms-shared选项即可启用此特性。当给出的参数为all时,所有此平台支持的MPM模块都会被安装。还可以在参数中给出模块列表。默认MPM,可以自动选择或者在执行configure脚本时通过--with-mpm选项来指定,然后出现在生成的服务器配置文件中。编辑LoadModule指令内容可以选择不同的MPM。
2).提供SysV服务脚本/etc/rc.d/init.d/httpd24,内容如下:
![](http://s3.51cto.com/wyfs02/M02/23/95/wKioL1M7DQOj7IduAAFHpzrxZck807.jpg)
--->如果没有脚本的话就提供,如下:
3).加入服务列表:
![](http://s3.51cto.com/wyfs02/M02/23/95/wKioL1M7DRvS_A_hAADCOwGQBbQ039.jpg)
4.提供PATH环境变量:
![](http://s3.51cto.com/wyfs02/M01/23/94/wKiom1M7DVvzXKUDAADHZ9xPGFY872.jpg)
5.修改hosts文件(免的在本地启动时会报错):
![](http://s3.51cto.com/wyfs02/M00/23/95/wKioL1M7DUajjCUmAABnmnMLKtM031.jpg)
6.只要是编译模块就需要它:
![](http://s3.51cto.com/wyfs02/M02/23/94/wKiom1M7DYTyc_LEAABJQPIRynU421.jpg)
7. 编辑apache的主配置文件:
![](http://s3.51cto.com/wyfs02/M01/23/95/wKioL1M7DXHg2qOmAABvNiBsPog183.jpg)
8.启动httpd24,并测试访问默认页面:
1).启动服务:
![](http://s3.51cto.com/wyfs02/M00/23/94/wKiom1M7DbTDKvq9AABxrCeS_a4652.jpg)
2).查看80端口是否启动:
3).测试访问:
![](http://s3.51cto.com/wyfs02/M01/23/06/wKioL1MulHfQBiSgAAB7eeVPguY687.jpg)
三、编译安装php-5.4.26:
1.解决依赖关系->配置好yum;
![](http://s3.51cto.com/wyfs02/M02/23/95/wKioL1M7DaXi6uFSAAChJfGmv9w412.jpg)
2.编译安装php-5.4.26:
1).安装:
![](http://s3.51cto.com/wyfs02/M01/23/94/wKiom1M7DfHwoljTAAPwpQ6sk8U239.jpg)
注意:
说明:
1、这里为了支持apache的worker或event这两个MPM,编译时使用了--enable-maintainer-zts选项。
2、如果使用PHP5.3以上版本,为了链接MySQL数据库,可以指定mysqlnd,这样在本机就不需要先安装MySQL或MySQL开发包了。mysqlnd从php 5.3开始可用,可以编译时绑定到它(而不用和具体的MySQL客户端库绑定形成依赖),但从PHP 5.4开始它就是默认设置了。
# ./configure --with-mysql=mysqlnd --with-pdo-mysql=mysqlnd --with-mysqli=mysqlnd
3.为php提供配置文件:
1).关于 php.ini:
![](http://s3.51cto.com/wyfs02/M00/23/95/wKioL1M7DePjmQFkAAEUfTPmxyI747.jpg)
2).提供配置文件(这里没有编辑):
![](http://s3.51cto.com/wyfs02/M02/23/94/wKiom1M7DiKClQ9ZAABNArF44R0770.jpg)
4.编辑apache配置文件httpd.conf,以apache支持php:
1).编辑 vim /etc/httpd24/httpd.conf:
![](http://s3.51cto.com/wyfs02/M01/23/95/wKioL1M7DhXR9ZN9AAFG55wFmS4790.jpg)
2).重启httpd24:
![](http://s3.51cto.com/wyfs02/M00/23/94/wKiom1M7DlDjZs1zAACJ5QWtTV4297.jpg)
3).查看端口:
![](http://s3.51cto.com/wyfs02/M02/23/95/wKioL1M7Dj7BziJ2AABwJTpYHOM430.jpg)
5.编辑测试页面index.php,如下--> (与MySQL 建立连接会话如下):
1).第一次(编辑测试页面):
![](http://s3.51cto.com/wyfs02/M01/23/94/wKiom1M7Dyfyi_JRAADBbyKauLY430.jpg)
2).第一次(测试访问: http://172.16.17.201/):
![](http://s3.51cto.com/wyfs02/M02/23/05/wKiom1Muox3jj5rvAAKLTQ5sDzQ547.jpg)
3).第二次(编辑页面测试脚本):
![](http://s3.51cto.com/wyfs02/M00/23/95/wKioL1M7Dx3jChq6AAFQadIi0Xo924.jpg)
4).第二次(测试访问: http://172.16.17.201/):
![](http://s3.51cto.com/wyfs02/M00/23/05/wKiom1MuqZmgIz-uAADMOrdPrqo807.jpg)
5).第三次测试(关闭mysql服务):
![](http://s3.51cto.com/wyfs02/M01/23/94/wKiom1M7D1rB38OfAACCpI5UGzY674.jpg)
6).第三次(访问测试: http://172.16.17.201/)
![](http://s3.51cto.com/wyfs02/M01/23/05/wKiom1Muqo6h_w1oAADI7IJzuY8594.jpg)
四、安装xcache,为php加速:
简单理解:
XCache 是一个开源的 opcode 缓存器/优化器, 这意味着他能够提高您服务器上的 PHP 性能. 他通过把编译 PHP 后的数据缓冲到共享内存从而避免重复的编译过程, 能够直接使用缓冲区已编译的代码从而提高速度. 通常能够提高您的页面生成速率 2 到5 倍, 降低服务器负载
1.安装 phpMyAdmin-4.0.5:
1).解压文件:
![](http://s3.51cto.com/wyfs02/M02/23/94/wKiom1M7D2-SrobjAABQ0SnEtGk429.jpg)
2).将文件剪切至/usr/local/apache/htdocs/pma
![](http://s3.51cto.com/wyfs02/M01/23/95/wKioL1M7D1rDF5KRAABfKgpwYOg139.jpg)
3).访问: http://172.16.17.201/pma/
![](http://s3.51cto.com/wyfs02/M02/23/06/wKioL1MusYSgOeKuAAG0a-oYw48406.jpg)
4).利用ab来做压力测试(安装xcache的php加速器之前, ab测试结果如下):
(1) 测试前 top的使用情况:
![](http://s3.51cto.com/wyfs02/M01/23/05/wKiom1MuvhjhVw-XAAdRrn0CHxE914.jpg)
(2)压力测试的结果:
![](http://s3.51cto.com/wyfs02/M00/23/94/wKiom1M7D8DzpiN8AAN8A7pyHpg389.jpg)
![](http://s3.51cto.com/wyfs02/M02/23/95/wKioL1M7D5nz9mlTAAWZYddLDKE180.jpg)
(3)压力测试进行时截图,与上面的图片做对比:
![](http://s3.51cto.com/wyfs02/M02/23/07/wKioL1MuzSuxF87hAAfs_kp_Al8318.jpg)
(4).压力测试进行时phpMyAdmin的截图(能打开,只是得等待吆):
![](http://s3.51cto.com/wyfs02/M01/23/07/wKioL1MuzoOyKQDgAAIk7T9yx_A883.jpg)
2.安装xcache,为php加速:
1).安装xcache-3.0.3(用本地的解释器探测模块所依赖的版本号、扩展API等,生成序列号标记,而后才能编译):
![](http://s3.51cto.com/wyfs02/M01/23/94/wKiom1M7EALgheTHAARNlUU2HT8529.jpg)
注意:
![](http://s3.51cto.com/wyfs02/M00/23/95/wKioL1M7D_Gj0a6hAAD6U4Y6oDY729.jpg)
2).在访问: http://172.16.17.201/-->并且找到xcache :
![](http://s3.51cto.com/wyfs02/M00/23/06/wKiom1Mu44KzQhqmAARGledLqUk760.jpg)
3).在访问: http://172.16.17.201/pma(这里没有做压力测试呢)
![](http://s3.51cto.com/wyfs02/M01/23/07/wKioL1Mu5C7StzFFAAOnn7mv2QY564.jpg)
4).再次执行ab做压力测试(这里就不上图了):
![](http://s3.51cto.com/wyfs02/M01/23/95/wKioL1M7ECLiC8IFAABmrp-6U_w446.jpg)
5).做了Xcache之后性能按理来说会提升 3 倍左右的.这里也就没有上CPU与压力测试的后图了.
![](http://s3.51cto.com/wyfs02/M02/23/94/wKiom1M7EDGgQrtIAAFWYfTowzk122.jpg)
A smile is the most beautiful language!!!
![](http://img.baidu.com/hi/jx2/j_0057.gif)
![](http://img.baidu.com/hi/jx2/j_0057.gif)
![](http://img.baidu.com/hi/jx2/j_0057.gif)
以本人的理解而写出博客,如若有错误,欢迎指出.
![](http://img.baidu.com/hi/jx2/j_0057.gif)
![](http://img.baidu.com/hi/jx2/j_0057.gif)
![](http://img.baidu.com/hi/jx2/j_0057.gif)
---->小马子
本文出自 “不怕鬼的小马子” 博客,请务必保留此出处http://xiaomazi.blog.51cto.com/5891742/1383122
LAMP:是Linux+Apache+Mysql+Perl/PHP/Python一组常用来搭建动态网站或者服务器的开源软件,本身都是各自独立的程序,但是因为常被放在一起使用,拥有了越来越高的兼容度,共同组成了一个强大的Web应用程序平台.
Web Service之LAMP- 2 基于FastCGI 的编译安装以及 Xcache实现PHP的加速:
/article/4506630.html
第一部分: 编译安装过程的顺序: httpd 2.4.9 + mysql-5.5.33 + php-5.4.26:
一、安装mysql-5.5.33:
前提:
准备好开发包以及依赖包并且安装好.
1.准备数据存放的文件系统:
新建一个逻辑卷,并将其挂载至特定目录即可。
这里假设其逻辑卷的挂载目录为/mydata,而后需要创建/mydata/data目录做为mysql数据的存放目录。
1).创建分及/data目录:
![](http://s3.51cto.com/wyfs02/M01/23/94/wKiom1M7CqLx_4DEAAFYcui7UIY074.jpg)
2).创建LVM(方便以后开机不足时扩展.)
![](http://s3.51cto.com/wyfs02/M00/23/95/wKioL1M7CpHTIAWZAAI9AYtvHXo734.jpg)
3).格式化文件系统且配置为开机自动挂载:
![](http://s3.51cto.com/wyfs02/M02/23/94/wKiom1M7CtaisKEbAAFwKDWtNEw016.jpg)
4).创建mydata目录,且修改目录的属主属组:
![](http://s3.51cto.com/wyfs02/M01/23/95/wKioL1M7Csuz2aDLAAEV5rmQiSY160.jpg)
2.新建用户以安全方式运行进程:
![](http://s3.51cto.com/wyfs02/M00/23/94/wKiom1M7Cwngi6R0AABkcAetNko318.jpg)
3.安装并初始化mysql-5.5.33:
1).解压安装包且创建软链接(方便以后升级):
![](http://s3.51cto.com/wyfs02/M02/23/95/wKioL1M7CvihpPWcAADa__-OgCw115.jpg)
2).初始化系统库:
![](http://s3.51cto.com/wyfs02/M01/23/94/wKiom1M7CzXiGaPiAAEjB10-Eos566.jpg)
2.为mysql提供sysv服务脚本:
![](http://s3.51cto.com/wyfs02/M00/23/95/wKioL1M7CyLA1-KhAABbG7AYHnE179.jpg)
3.添加至服务列表:
![](http://s3.51cto.com/wyfs02/M02/23/94/wKiom1M7C16QJZqnAADRzv9gKgo584.jpg)
4.提供配置文件(我的是双核的,所以改为4):
![](http://s3.51cto.com/wyfs02/M01/23/95/wKioL1M7C0vxbs47AAE3-MqdX_M714.jpg)
5.启动mysqld服务:
![](http://s3.51cto.com/wyfs02/M00/23/94/wKiom1M7C5nDWESLAAGGysNTf5o569.jpg)
6.查看套接字文件:
![](http://s3.51cto.com/wyfs02/M02/23/95/wKioL1M7C4-Sov0HAACI3ZaCVHo913.jpg)
注意rpm包安装时路径为:/var/lib/mysql.
7.如何连接mysql呢??
1).修改PATH环境变量,让系统可以直接使用mysql的相关命令:
![](http://s3.51cto.com/wyfs02/M01/23/94/wKiom1M7C87Rvu5MAADA-KhA5E8056.jpg)
2).连接到mysql上查看版本:
![](http://s3.51cto.com/wyfs02/M00/23/95/wKioL1M7C7uwJ7T3AADEK29jhlw047.jpg)
3).删除匿名用户:
![](http://s3.51cto.com/wyfs02/M01/23/95/wKioL1M7C_fC4yUXAABxfMS-jZ0485.jpg)
-->如果不确定,就先查看下:
![](http://s3.51cto.com/wyfs02/M00/23/94/wKiom1M7DDez1xSaAAG_tsXQTmk711.jpg)
4).修改密码:
Ⅰ.一次修改一个密码:
![](http://s3.51cto.com/wyfs02/M02/23/95/wKioL1M7DCrQ16lfAAJm3IkV2Gw272.jpg)
Ⅱ.修改全部用户的密码:
![](http://s3.51cto.com/wyfs02/M01/23/95/wKioL1M7DEOhsLd3AAMfHBIJoqY748.jpg)
Ⅲ.测试登陆:
![](http://s3.51cto.com/wyfs02/M01/23/94/wKiom1M7DILytZ1IAABFOKvy6aQ122.jpg)
Ⅳ.在家目录下创建隐藏文件.my.cnf,(不用手动输入密码,在连接mysql时自动连接.):
![](http://s3.51cto.com/wyfs02/M00/23/95/wKioL1M7DHDjISZPAAHPBoXMZaQ204.jpg)
8.导出库文件、头文件:
![](http://s3.51cto.com/wyfs02/M02/23/94/wKiom1M7DNaB1jpRAAS1ivoo_oI735.jpg)
二、编译安装apache;
1.解决依赖关系:
httpd-2.4.9需要较新版本的apr和apr-util,因此需要事先对其进行升级. 升级方式有两种: 一种是通过源代码编译安装,一种是直接升级rpm包. --> 这里选择使用编译源代码的方式进行.
1).安装pcre-devel包(开发包组件)-> httpd-2.4.9编译过程也要依赖于pcre-devel软件包,需要事先安装,此软件包系统光盘自带:
![](http://s3.51cto.com/wyfs02/M01/23/95/wKioL1M7DMXymCjiAAA38wkepJ8743.jpg)
2.安装apr、apr-util:
1).编译安装apr-1.5.0:
![](http://s3.51cto.com/wyfs02/M00/23/94/wKiom1M7DQLiapzgAADcSTZq3d4135.jpg)
2).编译安装apr-util-1.5.3:
![](http://s3.51cto.com/wyfs02/M00/23/94/wKiom1M7DRaCVFxvAAEU8fAlKko514.jpg)
3.编译安装httpd-2.4.9:
1).安装:
[root@www ~]# tar xf httpd-2.4.9.tar.bz2 [root@www ~]# cd httpd-2.4.9 [root@www httpd-2.4.9]# ./configure --prefix=/usr/local/apache --sysconfdir=/etc/httpd24 --enable-so --enable-ssl --enable-cgi --with-zlib --with-pcre --enable-rewrite --with-apr=/usr/local/apr --with-apr -util=/usr/local/apr-util/ --enable-modules=most --enable-mpms- shared=all --with-mpm=event [root@www httpd-2.4.9]# make && make install补充:
(1)构建MPM为静态模块
在全部平台中,MPM都可以构建为静态模块。在构建时选择一种MPM,链接到服务器中。如果要改变MPM,必须重新构建。为了使用指定的MPM,请在执行configure脚本时,使用参数 --with-mpm=NAME。NAME是指定的MPM名称。编译完成后,可以使用 ./httpd -l 来确定选择的MPM。 此命令会列出编译到服务器程序中的所有模块,包括 MPM。
(2)构建 MPM 为动态模块
在Unix或类似平台中,MPM可以构建为动态模块,与其它动态模块一样在运行时加载。 构建 MPM 为动态模块允许通过修改LoadModule指令内容来改变MPM,而不用重新构建服务器程序。在执行configure脚本时,使用--enable-mpms-shared选项即可启用此特性。当给出的参数为all时,所有此平台支持的MPM模块都会被安装。还可以在参数中给出模块列表。默认MPM,可以自动选择或者在执行configure脚本时通过--with-mpm选项来指定,然后出现在生成的服务器配置文件中。编辑LoadModule指令内容可以选择不同的MPM。
2).提供SysV服务脚本/etc/rc.d/init.d/httpd24,内容如下:
![](http://s3.51cto.com/wyfs02/M02/23/95/wKioL1M7DQOj7IduAAFHpzrxZck807.jpg)
--->如果没有脚本的话就提供,如下:
[root@www ~]# vim /etc/rc.d/init.d/httpd24 #!/bin/bash # # httpd Startup script for the Apache HTTP Server # # chkconfig: - 85 15 # description: Apache is a World Wide Web server. It is used to serve \ # HTML files and CGI. # processname: httpd # config: /etc/httpd/conf/httpd.conf # config: /etc/sysconfig/httpd # pidfile: /var/run/httpd.pid # Source function library. . /etc/rc.d/init.d/functions if [ -f /etc/sysconfig/httpd ]; then . /etc/sysconfig/httpd fi # Start httpd in the C locale by default. HTTPD_LANG=${HTTPD_LANG-"C"} # This will prevent initlog from swallowing up a pass-phrase prompt if # mod_ssl needs a pass-phrase from the user. INITLOG_ARGS="" # Set HTTPD=/usr/sbin/httpd.worker in /etc/sysconfig/httpd to use a server # with the thread-based "worker" MPM; BE WARNED that some modules may not # work correctly with a thread-based MPM; notably PHP will refuse to start. # Path to the apachectl script, server binary, and short-form for messages. apachectl=/usr/local/apache/bin/apachectl httpd=${HTTPD-/usr/local/apache/bin/httpd} prog=httpd pidfile=${PIDFILE-/var/run/httpd.pid} lockfile=${LOCKFILE-/var/lock/subsys/httpd} RETVAL=0 start() { echo -n $"Starting $prog: " LANG=$HTTPD_LANG daemon --pidfile=${pidfile} $httpd $OPTIONS RETVAL=$? echo [ $RETVAL = 0 ] && touch ${lockfile} return $RETVAL } stop() { echo -n $"Stopping $prog: " killproc -p ${pidfile} -d 10 $httpd RETVAL=$? echo [ $RETVAL = 0 ] && rm -f ${lockfile} ${pidfile} } reload() { echo -n $"Reloading $prog: " if ! LANG=$HTTPD_LANG $httpd $OPTIONS -t >&/dev/null; then RETVAL=$? echo $"not reloading due to configuration syntax error" failure $"not reloading $httpd due to configuration syntax error" else killproc -p ${pidfile} $httpd -HUP RETVAL=$? fi echo } # See how we were called. case "$1" in start) start ;; stop) stop ;; status) status -p ${pidfile} $httpd RETVAL=$? ;; restart) stop start ;; condrestart) if [ -f ${pidfile} ] ; then stop start fi ;; reload) reload ;; graceful|help|configtest|fullstatus) $apachectl $@ RETVAL=$? ;; *) echo $"Usage: $prog {start|stop|restart|condrestart|reload|status| 接下 fullstatus|graceful|help|configtest}" exit 1 esac exit $RETVAL |
![](http://s3.51cto.com/wyfs02/M02/23/95/wKioL1M7DRvS_A_hAADCOwGQBbQ039.jpg)
4.提供PATH环境变量:
![](http://s3.51cto.com/wyfs02/M01/23/94/wKiom1M7DVvzXKUDAADHZ9xPGFY872.jpg)
5.修改hosts文件(免的在本地启动时会报错):
![](http://s3.51cto.com/wyfs02/M00/23/95/wKioL1M7DUajjCUmAABnmnMLKtM031.jpg)
6.只要是编译模块就需要它:
![](http://s3.51cto.com/wyfs02/M02/23/94/wKiom1M7DYTyc_LEAABJQPIRynU421.jpg)
7. 编辑apache的主配置文件:
![](http://s3.51cto.com/wyfs02/M01/23/95/wKioL1M7DXHg2qOmAABvNiBsPog183.jpg)
8.启动httpd24,并测试访问默认页面:
1).启动服务:
![](http://s3.51cto.com/wyfs02/M00/23/94/wKiom1M7DbTDKvq9AABxrCeS_a4652.jpg)
2).查看80端口是否启动:
[root@www init.d]# ss -tunlp | grep :80 tcp LISTEN 0 128 :::80 :::* users:(("httpd",57827,4),("httpd",57829,4),("httpd",57857,4),("httpd",57858,4)) users:(("httpd",57827,4),("httpd",57829,4),("httpd",57857,4),("httpd",57858,4)) [root@www init.d]#
3).测试访问:
![](http://s3.51cto.com/wyfs02/M01/23/06/wKioL1MulHfQBiSgAAB7eeVPguY687.jpg)
三、编译安装php-5.4.26:
1.解决依赖关系->配置好yum;
![](http://s3.51cto.com/wyfs02/M02/23/95/wKioL1M7DaXi6uFSAAChJfGmv9w412.jpg)
2.编译安装php-5.4.26:
1).安装:
[root@www ~]# tar xf php-5.4.26.tar.bz2 [root@www ~]# cd php-5.4.26 [root@www php-5.4.26]# ./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql --with-openssl --with-mysqli=/usr/local/mysql/bin/mysql_config --enable-mbstring --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --enable-sockets --with-apxs2=/usr/local/apache/bin/apxs --with-mcrypt --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d --with-bz2 --enable-maintainer-zts [root@www php-5.4.26]# make && make install2).参数介绍:
![](http://s3.51cto.com/wyfs02/M01/23/94/wKiom1M7DfHwoljTAAPwpQ6sk8U239.jpg)
注意:
说明:
1、这里为了支持apache的worker或event这两个MPM,编译时使用了--enable-maintainer-zts选项。
2、如果使用PHP5.3以上版本,为了链接MySQL数据库,可以指定mysqlnd,这样在本机就不需要先安装MySQL或MySQL开发包了。mysqlnd从php 5.3开始可用,可以编译时绑定到它(而不用和具体的MySQL客户端库绑定形成依赖),但从PHP 5.4开始它就是默认设置了。
# ./configure --with-mysql=mysqlnd --with-pdo-mysql=mysqlnd --with-mysqli=mysqlnd
3.为php提供配置文件:
1).关于 php.ini:
![](http://s3.51cto.com/wyfs02/M00/23/95/wKioL1M7DePjmQFkAAEUfTPmxyI747.jpg)
2).提供配置文件(这里没有编辑):
![](http://s3.51cto.com/wyfs02/M02/23/94/wKiom1M7DiKClQ9ZAABNArF44R0770.jpg)
4.编辑apache配置文件httpd.conf,以apache支持php:
1).编辑 vim /etc/httpd24/httpd.conf:
![](http://s3.51cto.com/wyfs02/M01/23/95/wKioL1M7DhXR9ZN9AAFG55wFmS4790.jpg)
2).重启httpd24:
![](http://s3.51cto.com/wyfs02/M00/23/94/wKiom1M7DlDjZs1zAACJ5QWtTV4297.jpg)
3).查看端口:
![](http://s3.51cto.com/wyfs02/M02/23/95/wKioL1M7Dj7BziJ2AABwJTpYHOM430.jpg)
5.编辑测试页面index.php,如下--> (与MySQL 建立连接会话如下):
1).第一次(编辑测试页面):
![](http://s3.51cto.com/wyfs02/M01/23/94/wKiom1M7Dyfyi_JRAADBbyKauLY430.jpg)
2).第一次(测试访问: http://172.16.17.201/):
![](http://s3.51cto.com/wyfs02/M02/23/05/wKiom1Muox3jj5rvAAKLTQ5sDzQ547.jpg)
3).第二次(编辑页面测试脚本):
![](http://s3.51cto.com/wyfs02/M00/23/95/wKioL1M7Dx3jChq6AAFQadIi0Xo924.jpg)
4).第二次(测试访问: http://172.16.17.201/):
![](http://s3.51cto.com/wyfs02/M00/23/05/wKiom1MuqZmgIz-uAADMOrdPrqo807.jpg)
5).第三次测试(关闭mysql服务):
![](http://s3.51cto.com/wyfs02/M01/23/94/wKiom1M7D1rB38OfAACCpI5UGzY674.jpg)
6).第三次(访问测试: http://172.16.17.201/)
![](http://s3.51cto.com/wyfs02/M01/23/05/wKiom1Muqo6h_w1oAADI7IJzuY8594.jpg)
四、安装xcache,为php加速:
简单理解:
XCache 是一个开源的 opcode 缓存器/优化器, 这意味着他能够提高您服务器上的 PHP 性能. 他通过把编译 PHP 后的数据缓冲到共享内存从而避免重复的编译过程, 能够直接使用缓冲区已编译的代码从而提高速度. 通常能够提高您的页面生成速率 2 到5 倍, 降低服务器负载
1.安装 phpMyAdmin-4.0.5:
1).解压文件:
![](http://s3.51cto.com/wyfs02/M02/23/94/wKiom1M7D2-SrobjAABQ0SnEtGk429.jpg)
2).将文件剪切至/usr/local/apache/htdocs/pma
![](http://s3.51cto.com/wyfs02/M01/23/95/wKioL1M7D1rDF5KRAABfKgpwYOg139.jpg)
3).访问: http://172.16.17.201/pma/
![](http://s3.51cto.com/wyfs02/M02/23/06/wKioL1MusYSgOeKuAAG0a-oYw48406.jpg)
4).利用ab来做压力测试(安装xcache的php加速器之前, ab测试结果如下):
(1) 测试前 top的使用情况:
![](http://s3.51cto.com/wyfs02/M01/23/05/wKiom1MuvhjhVw-XAAdRrn0CHxE914.jpg)
(2)压力测试的结果:
![](http://s3.51cto.com/wyfs02/M00/23/94/wKiom1M7D8DzpiN8AAN8A7pyHpg389.jpg)
![](http://s3.51cto.com/wyfs02/M02/23/95/wKioL1M7D5nz9mlTAAWZYddLDKE180.jpg)
(3)压力测试进行时截图,与上面的图片做对比:
![](http://s3.51cto.com/wyfs02/M02/23/07/wKioL1MuzSuxF87hAAfs_kp_Al8318.jpg)
(4).压力测试进行时phpMyAdmin的截图(能打开,只是得等待吆):
![](http://s3.51cto.com/wyfs02/M01/23/07/wKioL1MuzoOyKQDgAAIk7T9yx_A883.jpg)
2.安装xcache,为php加速:
1).安装xcache-3.0.3(用本地的解释器探测模块所依赖的版本号、扩展API等,生成序列号标记,而后才能编译):
![](http://s3.51cto.com/wyfs02/M01/23/94/wKiom1M7EALgheTHAARNlUU2HT8529.jpg)
注意:
![](http://s3.51cto.com/wyfs02/M00/23/95/wKioL1M7D_Gj0a6hAAD6U4Y6oDY729.jpg)
2).在访问: http://172.16.17.201/-->并且找到xcache :
![](http://s3.51cto.com/wyfs02/M00/23/06/wKiom1Mu44KzQhqmAARGledLqUk760.jpg)
3).在访问: http://172.16.17.201/pma(这里没有做压力测试呢)
![](http://s3.51cto.com/wyfs02/M01/23/07/wKioL1Mu5C7StzFFAAOnn7mv2QY564.jpg)
4).再次执行ab做压力测试(这里就不上图了):
![](http://s3.51cto.com/wyfs02/M01/23/95/wKioL1M7ECLiC8IFAABmrp-6U_w446.jpg)
5).做了Xcache之后性能按理来说会提升 3 倍左右的.这里也就没有上CPU与压力测试的后图了.
![](http://s3.51cto.com/wyfs02/M02/23/94/wKiom1M7EDGgQrtIAAFWYfTowzk122.jpg)
A smile is the most beautiful language!!!
![](http://img.baidu.com/hi/jx2/j_0057.gif)
![](http://img.baidu.com/hi/jx2/j_0057.gif)
![](http://img.baidu.com/hi/jx2/j_0057.gif)
以本人的理解而写出博客,如若有错误,欢迎指出.
![](http://img.baidu.com/hi/jx2/j_0057.gif)
![](http://img.baidu.com/hi/jx2/j_0057.gif)
![](http://img.baidu.com/hi/jx2/j_0057.gif)
---->小马子
本文出自 “不怕鬼的小马子” 博客,请务必保留此出处http://xiaomazi.blog.51cto.com/5891742/1383122
相关文章推荐
- Web Service之LAMP- 2 基于FastCGI 的编译安装以及 Xcache实现PHP的加速
- httpd六之源码编译lamp并能够实现xcache为php加速 推荐
- 基于fcgI编译安装LAMP实现层次化:httpd 2.4.9 + mysql-5.5.33 + php-5.4.26
- CentOS6基于源码编译安装LAMP实现WordPress功能和xcache功能
- LAMP之二:LAMP的性能测试以及安装xcache,为php加速 推荐
- 基于模块化编译安装LAMP:httpd 2.4.9 + mysql-5.5.33 + php-5.4.26编译安装
- 编译安装lamp-4(安装xcache,为php加速)
- LAMP(linux下apache+mysql+php)平台编译安装的实现
- CentOS7基于源码编译安装LAMP的wordpress应用的实现
- centos7.3实现基于源码编译安装LAMP的wordpress应用
- 基于编译安装实现LAMP
- php加速工具xcache的安装与使用(基于LNMP环境)
- 源码安装实现lamp的amp分离及Xcache加速
- lamp基于fcgi编译安装,支持xcache扩展
- 一台主机上实现lamp(编译安装,模块或php-fpm)
- LAMP编译安装只PHP以模块化的方式工作
- 安装XCache实现对php加速
- LAMP平台实现之PHP加速,xcache
- Centos6.9实现基于源码编译安装LAMP(FPM模块方式)的wordpress应用
- centos7基于源码编译安装LAMP的wordpress应用的实现