要求:1.httpd服务器(使用event事件驱动机制),php服务器,mysql服务器三者分离。   

    2.http服务提供两个页面.

    另一个虚拟主机用于提供phpMyAdmin;另一个虚拟主机用于提供wordpress

    3.使用xcache提高php资源请求处理速度。


准备工作:三台虚拟主机,配置好yum源,分别准备好httpd,php-fpm源码包和二进制通用版的mariadb。另外作为httpd服务器的主机上需要同时准备apr-1.4+, apr-util-1.4+这两个源码包。


CentOS 6上搭建LAMP_LAPM


第一步:配置httpd服务器


1.准备编译环境

yum安装Development Tools, Server Platform Development这两个包组,安装openssl-devel,pcre-devel这两个包。


2.开始编译

因为httpd2.4以上的版本依赖于apr-1.4+, apr-util-1.4+,CentOS 6上的apr和apr-util版本太低,所以编译httpd2.4以前需要先编译此两个组件。


编译aprCentOS 6上搭建LAMP_LAPM_02

    完成后,执行编译安装

  apr-1.5.0]# make -j 2 && make install

   

编译apr-util

CentOS 6上搭建LAMP_LAPM_03     完成后,执行编译安装

     apr-util-1.5.2]# make -j 2 && make install


编译httpd2.4

CentOS 6上搭建LAMP_LAPM_04

     完成后,执行编译安装

     httpd-2.4.10]# make -j 2 && make install


3.安装后配置


添加程序默认执行路径(PATH环境变量)

CentOS 6上搭建LAMP_LAPM_05


CentOS 6上搭建LAMP_LAPM_06


CentOS 6上搭建LAMP_LAPM_07


CentOS 6上搭建LAMP_LAPM_08



导出头文件

CentOS 6上搭建LAMP_LAPM_09



导出库文件

CentOS 6上搭建LAMP_LAPM_10

httpd编译完成后没有提供库文件,所以不用导出了

   如果需要导出库文件,可以按如下步骤:

   导出httpd-2.4库文件目录:在 /etc/ld.so.conf.d/目录下创建一个.conf结尾的文件,编辑它,在其中加入其安装生成的库文件路径。然后运行ldconfig -v重新加载。

   注:可以使用ldconfig -p查看已经加载的库文件。



增加man手册路径

CentOS 6上搭建LAMP_LAPM_11


CentOS 6上搭建LAMP_LAPM_12



虽然此时httpd2.4已经可以手动启动,但因为没有服务脚本,所以没办法设置为自动启动。

可以选择写一个服务脚本,或者复制httpd2.2的服务脚本修改。

本人水平不够,写服务脚本这个高难度的事就不挑战了,只好从别的主机复制一个httpd2.2版本的来修改一下用。


CentOS 6上搭建LAMP_LAPM_13

  编辑修改配置文件

    可以选择删除或者注释   if [ -f /etc/sysconfig/httpd ]; then
                          . /etc/sysconfig/httpd
                    fi

   我这里是注释了

CentOS 6上搭建LAMP_LAPM_14

修改httpd进程的相关参数,改为你编译安装的路径

                 apachectl=/Directoy/To/apachectl
             httpd=${HTTPD-/Directoy/To/httpd}
             prog=httpd
             pidfile=${PIDFILE-/usr/local/httpd2.4/logs/httpd.pid}
             lockfile=${LOCKFILE-/var/lock/subsys/httpd2.4}CentOS 6上搭建LAMP_LAPM_15

服务脚本添加完成,然后使用chkconfig添加服务。之后就可以设置开机自启动和使用service命令控制服务了。

CentOS 6上搭建LAMP_LAPM_16

查看httpd的mpm模式

CentOS 6上搭建LAMP_LAPM_17

查看httpd是否启用fcgi模块

CentOS 6上搭建LAMP_LAPM_18测试是否能提供服务页面

CentOS 6上搭建LAMP_LAPM_19


配置虚拟主机提供不同的服务主页

修改主配置文件注释掉主服务的资源路径:DocumentRoot这一项,启用下面这一项

CentOS 6上搭建LAMP_LAPM_20

然后编辑此路径下的这个配置文件就可以了。

配置虚拟主机的方法和CentOS 7上yum安装的2.4一样,这里就不细说了(详情可以参考我的另外一篇博客:在CentOS 7上搭建LAPM



第二步:配置php服务器


1.准备编译环境

yum安装Development Tools, Server Platform Development这两个包组,安装libxml2-devel,libmcrypt-devel,bzip2-devel,libcurl-devel等等这几个包。(在编译过程中依赖到的,都需要按装 pakeagename-devel的开发包)


2.开始编译

CentOS 6上搭建LAMP_LAPM_21

CentOS 6上搭建LAMP_LAPM_22

完成后,执行编译安装

  php-5.4.40]# make -j 2 && make install



3.安装后配置


添加程序默认执行路径(PATH环境变量)

CentOS 6上搭建LAMP_LAPM_23

CentOS 6上搭建LAMP_LAPM_24

然后重新登陆一下bash,重读配置文件。


编辑配置文件

CentOS 6上搭建LAMP_LAPM_25

CentOS 6上搭建LAMP_LAPM_26

CentOS 6上搭建LAMP_LAPM_27

CentOS 6上搭建LAMP_LAPM_28

CentOS 6上搭建LAMP_LAPM_29


4.测试

在httpd服务器配置好的虚拟主机

CentOS 6上搭建LAMP_LAPM_30现在在php服务器的资源路径下创建一个测试页面进行测试。

CentOS 6上搭建LAMP_LAPM_31


测试OK

CentOS 6上搭建LAMP_LAPM_32



CentOS 6上搭建LAMP_LAPM_33


程序已经运行了,但是没有服务脚本,不能用service命令控制,也不能实现自动运行。

可以看一下编译完有没有提供服务脚本

CentOS 6上搭建LAMP_LAPM_34

CentOS 6上搭建LAMP_LAPM_35

是CentOS 6 的服务脚本,路径都是配置正确的,可以使用

CentOS 6上搭建LAMP_LAPM_36

注意:查看复制过去后此服务脚本是否有执行权限,如果没有需要加上执行权限。

这样服务就配置完整了


5.安装php-mysql包(php和mysql之间的通信协议)

 ~]# yum install php-mysql

  然后重载一下服务

  ~]# service httpd reload


第三步:配置mariadb服务器


1.安装mariadb

在安装需要创建一个系统用户mysql用于运行mysql, ~]# useradd -r mysql


CentOS 6上搭建LAMP_LAPM_37

添加服务脚本

在support-files有配置文件模板和服务脚本。可以查看一下其内容是否符合要求

CentOS 6上搭建LAMP_LAPM_38CentOS 6上搭建LAMP_LAPM_39

验证OK用户,复制到服务脚本的路径下,然后添加系统服务

CentOS 6上搭建LAMP_LAPM_40

添加主配置文件,然后修改参数

CentOS 6上搭建LAMP_LAPM_41


CentOS 6上搭建LAMP_LAPM_42



启动服务


CentOS 6上搭建LAMP_LAPM_43



添加程序默认执行路径(PATH环境变量):~]# vim /etc/profile.d/mysqld.sh

CentOS 6上搭建LAMP_LAPM_44


2.测试

登陆mysql:创建一个用户和数据库,并赋权,用于测试。

CentOS 6上搭建LAMP_LAPM_45


在PHP服务器添加一个测试页面,写入php连接mysql的测试代码:
<?php
      $conn = mysql_connect('192.168.0.100','ts','tspass');
      if ($conn)
          echo "OK";
      else
        echo "Failure";
?>


CentOS 6上搭建LAMP_LAPM_46


CentOS 6上搭建LAMP_LAPM_47





第四步:用www.a.com这个虚拟主机提供phpMyAdmin,用www.b.com这个虚拟主机提供wordpress  


此过程可以参考我的另外一篇博客:在CentOS 7上搭建LAPM


第五步:安装xcache,提高处理php请求速度

这里使用yum安装xcache(编译安装同样可以看上面链接那篇博客)


1.安装前压测


CentOS 6上搭建LAMP_LAPM_48CentOS 6上搭建LAMP_LAPM_49测试三到五次,看结果是否稳定


2.安装xcache

~]# yum install php-xcache

~]# service php-fpm restart



3.安装后压测