通过3台主机分别安装mysql,apache,php来减少服务器的压力。比如当用户访问静态网页时,静态网页交给apache服务器处理,访问动态php网站时,apache交给php来处理。动态网页要访问数据库时,php与mysql进行通信,这样的话,服务器的压力就小的多了


一、配置环境

服务器
IP软件版本

apache

前端服务器,提供静态页面。

172.16.251.50httpd.2.4.9

mysql

数据库服务器

172.16.251.252mysql-5.5.33

php

后端服务器,提供动态页面。


172.16.251.203php-5.4.26


二、各个服务器的详细配置

分别在3台主机上装上mysql,httpd,php,具体安装过程参考本博客前面的讲解

安装服务参考博客地址
apachehttp://584014981.blog.51cto.com/8605371/1379779
mysqlhttp://584014981.blog.51cto.com/8605371/1381592
phphttp://584014981.blog.51cto.com/8605371/1381634


1.http服务器的配置

1、启用httpd的相关模块,让apache能识别php格式的页面,并支持php格式的主页

wKiom1MwLtaiM-aPAAFnnPDgxFM510.jpg

wKioL1MwLq-hDk33AACLYLxCmZk713.jpg

wKioL1MwLq_hxyw1AAIGUIMquEA850.jpg

这些内容在本博客http://584014981.blog.51cto.com/8605371/1381634中都有详细解释!


2.配置httpd的虚拟主机

先停用httpd主站点,并启用虚拟站点

编辑/etc/httpd24/httpd.conf


wKiom1MwL9uAEx5yAADe1wgEtcs487.jpg

wKioL1MwL7XjQWYmAACjt72mh18729.jpg


编辑/etc/httpd24/extra/httpd-vhosts.conf 虚拟主机的配置文件,添加内容如下:

wKiom1MwMKTg6QDAAAH2HVWYwiQ811.jpg

说明:

  ProxyRequests Off:关闭正向代理

  ProxyPassMatch:把以.php结尾的文件请求发送到php-fpm进程,php-fpm至少需要知道运行的目录和URI,所以这里直接在fcgi://172.16.251.203:9000后指明了这两个参数,其它的参数的传递已经被mod_proxy_fcgi.so进行了封装,不需要手动指定。


2.php的配置

php安装编译时执行这条语句

./configure --prefix=/usr/local/php --with-mysql=mysqlnd --with-pdo-mysql=mysqlnd --with-mysqli=mysqlnd --with-openssl --enable-mbstring --with-freetype-dir --with-jpeg-dir --with-png-dir  --with-libxml-dir=/usr/ --enable-xml --enable-sockets --enable-fpm --with-config-file-path=/etc/ --with-config-file-scan-dir=/etc/php.d --with-bz2

其他步骤和博客上写的一样


编辑/usr/local/php/etc/php-fpm.conf  php配置文件,修改其监听的端口号,监听php服务器的地址

wKiom1MwMgzTHDn7AAIRhE56QnQ267.jpg


php动态文件要放在php服务器上,php服务器上的路径与httpd的虚拟机的站点文件路径一样,

php服务器没有此路径则手动创建

如下:

本次试验httpd的虚拟站点为/usr/local/apache1/htdocs/

则在php服务器上创建此目录:

[root@localhost etc]# mkdir /usr/local/apache1/htdocs/

在此目录下创建个index.php测试文件,内容如下:

wKiom1MwM-mw0sHMAACVobOizaM045.jpg



3.mysql的配置

创建一个远程访问的账户:

wKioL1MwNDmD5yIMAADUqh3bHo0026.jpg

用户名为root,主机地址为php服务器的地址


4.重启各服务,测试

wKiom1MwNKmCuBTlAADwWljLADQ679.jpg



5.安装phpMyAdmin

为了保证在访问phpMyAdmin时,静态图片能够显示,分别在apache和php服务器的站点目录下放置

同样的phpMyAdmin文件

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

在php服务器下,修改phpMyAdmin的配置文件

[root@localhost etc]# cd /usr/local/apache1/htdocs/mysql/
[root@localhost mysql]# vim config.inc.php

wKioL1MwNkeTLqs4AAD0Aby3RnY573.jpg
把host地址改成mysql服务器地址

用刚才创建的远程访问账户root 访问

wKiom1MwNurjjYQXAAIvgndBSUQ561.jpg

wKioL1MwNu-C8J8bAAKokCsGty4982.jpg


6、总结

分离式构建LAMP,主要注意以下4点:
         1、php页面应该存储于fcgi服务器,静态资源应该放在http服务器;
         2、php以php-fpm模式工作时,不会编译成httpd的模块的,因此,不要在httpd使用LoadModule去装载模块;
         3、编译php时,如果需要驱动mysql,使用--with-mysql=mysqlnd等几个选项;
         4、授权具有行程连接访问权限的mysql用户帐号;