要求: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+这两个源码包。
第一步:配置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以前需要先编译此两个组件。
编译apr
完成后,执行编译安装
apr-1.5.0]# make -j 2 && make install
编译apr-util
apr-util-1.5.2]# make -j 2 && make install
编译httpd2.4
完成后,执行编译安装
httpd-2.4.10]# make -j 2 && make install
3.安装后配置
添加程序默认执行路径(PATH环境变量)
导出头文件
导出库文件
httpd编译完成后没有提供库文件,所以不用导出了
如果需要导出库文件,可以按如下步骤:
导出httpd-2.4库文件目录:在 /etc/ld.so.conf.d/目录下创建一个.conf结尾的文件,编辑它,在其中加入其安装生成的库文件路径。然后运行ldconfig -v重新加载。
注:可以使用ldconfig -p查看已经加载的库文件。
增加man手册路径
虽然此时httpd2.4已经可以手动启动,但因为没有服务脚本,所以没办法设置为自动启动。
可以选择写一个服务脚本,或者复制httpd2.2的服务脚本修改。
本人水平不够,写服务脚本这个高难度的事就不挑战了,只好从别的主机复制一个httpd2.2版本的来修改一下用。
编辑修改配置文件
可以选择删除或者注释 if [ -f /etc/sysconfig/httpd ]; then
. /etc/sysconfig/httpd
fi
我这里是注释了
修改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}
服务脚本添加完成,然后使用chkconfig添加服务。之后就可以设置开机自启动和使用service命令控制服务了。
查看httpd的mpm模式
查看httpd是否启用fcgi模块
配置虚拟主机提供不同的服务主页
修改主配置文件注释掉主服务的资源路径:DocumentRoot这一项,启用下面这一项
然后编辑此路径下的这个配置文件就可以了。
配置虚拟主机的方法和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.开始编译
完成后,执行编译安装
php-5.4.40]# make -j 2 && make install
3.安装后配置
添加程序默认执行路径(PATH环境变量)
然后重新登陆一下bash,重读配置文件。
编辑配置文件
4.测试
在httpd服务器配置好的虚拟主机
测试OK
程序已经运行了,但是没有服务脚本,不能用service命令控制,也不能实现自动运行。
可以看一下编译完有没有提供服务脚本
是CentOS 6 的服务脚本,路径都是配置正确的,可以使用
注意:查看复制过去后此服务脚本是否有执行权限,如果没有需要加上执行权限。
这样服务就配置完整了
5.安装php-mysql包(php和mysql之间的通信协议)
~]# yum install php-mysql
然后重载一下服务
~]# service httpd reload
第三步:配置mariadb服务器
1.安装mariadb
在安装需要创建一个系统用户mysql用于运行mysql, ~]# useradd -r mysql
添加服务脚本
在support-files有配置文件模板和服务脚本。可以查看一下其内容是否符合要求
验证OK用户,复制到服务脚本的路径下,然后添加系统服务
添加主配置文件,然后修改参数
启动服务
添加程序默认执行路径(PATH环境变量):~]# vim /etc/profile.d/mysqld.sh
2.测试
登陆mysql:创建一个用户和数据库,并赋权,用于测试。
在PHP服务器添加一个测试页面,写入php连接mysql的测试代码:
<?php
$conn = mysql_connect('192.168.0.100','ts','tspass');
if ($conn)
echo "OK";
else
echo "Failure";
?>
第四步:用www.a.com这个虚拟主机提供phpMyAdmin,用www.b.com这个虚拟主机提供wordpress
此过程可以参考我的另外一篇博客:在CentOS 7上搭建LAPM
第五步:安装xcache,提高处理php请求速度
这里使用yum安装xcache(编译安装同样可以看上面链接那篇博客)
1.安装前压测
2.安装xcache
~]# yum install php-xcache
~]# service php-fpm restart
3.安装后压测