LAMP  Linux+Apache+Mysql/MariaDB+Perl/PHP/Python一组常用来搭建动态网站或者服务器的开源软件,本身都是各自独立的程序,但是因为常被放在一起使用,拥有了越来越高的兼容度,共同组成了一个强大的Web应用程序平台。随着开源潮流的蓬勃发展,开放源代码的LAMP已经与J2EE和.Net商业软件形成三足鼎立之势,并且该软件开发的项目在软件方面的投资成本较低,因此受到整个IT界的关注。从网站的流量上来说,70%以上的访问流量是LAMP来提供的,LAMP是最强大的网站解决方案.


本博客前面已经介绍了httpd2.4.9和mysql5.5.33的编译安装了,这里就不再加以演示了,敬请参考前面的文章。


我们这里来讲下php-5.4.26和xcache的编译安装


一、编译安装php-5.4.26

1、解决依赖关系:

安装必要的开发包组

[root@stucw ~]# yum -y groupinstall  "Desktop Platform Development"
[root@stucw ~]# yum –y  install  bzip2-devel  libmcrypt-devel


2.编译安装php-5.4.26

首先下载源码包至本地目录,并解压

[root@stucw ~]# tar xf php-5.4.26.tar.bz2
[root@stucw ~]# cd php-5.4.26

执行configure脚本,启用一些特性

[root@stucw php-5.4.26]#./configure --prefix=/usr/local/php5 --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 --enable-fpm  --with-apxs2=/usr/local/apache1/bin/apxs  --with-mcrypt  --with-config-file-path=/etc/php5  --with-config-file-scan-dir=/etc/php5.d --with-bz2

其中./configure 后的
--prefix=/usr/local/php5                    
--with-apxs2=/usr/local/apache1/bin/apxs  
--with-mysql=/usr/local/mysql/      
--with-libxml-dir=/usr                    
--enable-mbstring
是必要的选项


--with-jpeg-dir
--with-png -dir
--with-zlib
--with-freetype-dir 等
这是让PHP支持GD库的配置选项


补充说明:如果使用PHP5.3以上版本,为了链接MySQL数据库,可以指定mysqlnd,这样在本机就不需要先安装MySQL或MySQL开发包了。mysqlnd从php 5.3开始可用,可以编译时绑定到它(而不用和具体的MySQL客户端库绑定形成依赖),但从PHP5.4开始它就是默认设置了。

如:

# ./configure --with-mysql=mysqlnd --with-pdo-mysql=mysqlnd --with-mysqli=mysqlnd



3.执行make安装

[root@stucw php-5.4.26]# make && make intall


4.为php提供配置文件:

[root@stucw php-5.4.26]# cp php.ini-production   /etc/php.ini

如图

LAMP的实现_LAMP的简单实现


5.为php-fpm提供Sysv init脚本,并将其添加至服务列表:

[root@stucw php-5.4.26]# cp sapi/fpm/init.d.php-fpm  /etc/rc.d/init.d/php-fpm  //创建脚本文件
[root@stucw php-5.4.26]#  chmod +x /etc/rc.d/init.d/php-fpm  //给脚本执行权限
[root@stucw php-5.4.26]# chkconfig --add php-fpm   //添加进服务列表

LAMP的实现_LAMP的简单实现_02


6.为php-fpm提供配置文件:

[root@stucw php-5.4.26]#  cp /usr/local/php5/etc/php-fpm.conf.default  /usr/local/php5/etc/php-fpm.conf


编辑php-fpm的配置文件:

[root@stucw php5]# vim /usr/local/php5/etc/php-fpm.conf

LAMP的实现_LAMP的简单实现_03

配置fpm的相关选项,并启用pid文件

修改以下内容如图

LAMP的实现_LAMP的简单实现_04


启动php-fpm

查看进程是否启用如图(如果# ps aux | grep php-fpm结果中有几个php-fpm进程就说明启动成功了)


二、配置httpd-2.4.9

1、启用httpd的相关模块

在Apache httpd 2.4以后已经专门有一个模块针对FastCGI的实现,此模块为mod_proxy_fcgi.so,它其实是作为mod_proxy.so模块的扩充,因此,这两个模块都要加载。如图,(把前面的#去掉)

LAMP的实现_LAMP的简单实现_05


2、编辑apache配置文件httpd.conf,让apache能识别php格式的页面,并支持php格式的主页

2.1 识别php格式的页面的配置

LAMP的实现_LAMP的简单实现_06


2.2 支持php格式的主页的配置

LAMP的实现_LAMP的简单实现_07


三、使用LAMP做简单测试

根据配置好的httpd2.4.9和mysql和php做一个简单的LAMP测试

在主网站站点目录/usr/local/apache1/htdocs/下建个index.php的文件,内容如下


<?php
    $link = mysql_connect('localhost','root','admin');
     if ($link)
       echo "Success...";
     else
       echo "Failure...";
     mysql_close();
    phpinfo();
   ?>

启动httpd mysql php-fpm,使LAMP各个服务启动起来

[root@stucw ~]# service httpd24 start
[root@stucw ~]# service mysql start
[root@stucw ~]# service php-fpm start


打开网页测试如下:

LAMP的实现_LAMP的简单实现_08


www.linux.com是我在本地做的域名解析对应我的虚拟机IP:172.16.251.248


四、安装phpMyAdmin

       phpMyAdmin 是一个以PHP为基础,以Web-Base方式架构在网站主机上的MySQL的数据库管理工具,让管理者可用Web接口管理MySQL数据库。借由此Web接口可以成为一个简易方式输入繁杂SQL语法的较佳途径,尤其要处理大量资料的汇入及汇出更为方便。其中一个更大的优势在于由于phpMyAdmin跟其他PHP程式一样在网页服务器上执行,但是您可以在任何地方使用这些程式产生的HTML页面,也就是于远端管理MySQL数据库,方便的建立、修改、删除数据库及资料表。也可借由phpMyAdmin建立常用的php语法,方便编写网页时所需要的sql语法正确性。


下载phpMyAdmin-4.0.5-all-languages.zip到本地并解压

把解压文件拷入主站点目录,目录为mysql

[root@stucw ~]# cp -r php-5.4.26 /usr/local/apache1/htdocs/mysql

创建配置文件

[root@stucw mysql]# cp config.sample.inc.php config.inc.php


给root@localhost创建数据库密码

LAMP的实现_LAMP的简单实现_09


打开网站连接mysql,输入账号密码

LAMP的实现_LAMP的简单实现_10

LAMP的实现_LAMP的简单实现_11


还有很多基于php的工具。如以下这些:

WordPress是一种使用PHP语言开发的博客平台,用户可以在支持PHP和MySQL数据库的服务器上架设属于自己的网站。

discuz!是北京康盛新创科技有限责任公司推出的一套通用的社区论坛软件系统,腾讯旗下子公司。

PHPWind(简称:PW,中国×××著作权登记号为:2004SR06082)是一个基于PHP和MySQL的论坛程序,是国内最受欢迎的通用型论坛程序之一。

这些有兴趣的朋友可以自行下载安装,安装到各自的站点目录下,过程都很简单,这里就不演示了。


五、编译安装xcache

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

1、编译安装

[root@stucw ~]#  tar xf xcache-3.0.1.tar.gz
[root@stucw ~]# cd xcache-3.0.1
[root@stucw xcache-3.1.0]# /usr/local/php5/bin/phpize

LAMP的实现_LAMP的简单实现_12

#注意你的phpize的路径,如果你不清楚phpize的路径,你可以使用find / -name phpize查找一下!

LAMP的实现_LAMP的简单实现_13


[root@stucw xcache-3.1.0]# ./configure --enable-xcache --enable-xcache-coverager --with-php-config=/usr/local/php5/bin/php-config
[root@stucw xcache-3.1.0]#make &&make install


 注:

--enable-xcache 表示启用Xcache支持;

--enable-xcache-coverager 表示包含用于测量加速器功效的附加特性;



安装结束时,会出现类似红线的记录,记住:

如图

LAMP的实现_LAMP的简单实现_14


2、编辑php.ini,整合php和xcache:

2.1 首先将xcache提供的样例配置导入php.d

[root@stucw xcache-3.1.0]#  mkdir /etc/php.d
[root@stucw xcache-3.1.0]#  cp xcache.ini /etc/php.d


2.2 生成Xcache缓存文件

[root@stucw ~]# touch /tmp/xcache
[root@stucw ~]# chmod 777 /tmp/xcache


2.3 生成Xcache管理员的秘密(MD5密文)


LAMP的实现_LAMP的简单实现_15


2.4接下来编辑/etc/php.d/xcache.ini,修改如下行:

路径为上图指出的路径,  xcache管理员密码

如图

LAMP的实现_LAMP的简单实现_16


重启服务就可以使用xcache为php加速了

LAMP的实现_LAMP的简单实现_17