一:搭建原理图
项目要求
两台web服务器(基于IP地址的虚拟主机),共享关系型数据库,共享NFS服务器,利用DNS记录轮询提供负载均衡
二:搭建web服务器
本次WEB服务器采用编译安装服务,编译过程请参考LAMP平台编辑。接下来配置WEB服务器主配置文件.
vim /etc/httpd24/extra/httpd-vhosts.conf #前面的路径为编译时指定的路径。
<VirtualHost 192.168.1.16:80> #虚拟主机一
DocumentRoot "/mnt/web"
ServerName www.llhdiscuz.com
ProxyRequests Off
ProxyPassMatch ^/(.*\.php)$ fcgi://172.16.16.3:9000/nfs/web/$1 #指向PHP服务器
ErrorLog "logs/pma_error_log"
CustomLog "logs/pma_access_log" common
<Directory "/mnt/web">
Options none
AllowOverride none
Require all granted
</Directory>
</VirtualHost>
<VirtualHost 192.168.1.17:80> #虚拟主机二
DocumentRoot "/mnt/web"
ServerName www.llhdiscuz.com
ProxyRequests Off
ProxyPassMatch ^/(.*\.php)$ fcgi://172.16.16.3:9000/nfs/web/$1 #指向PHP服务器
ErrorLog "logs/pma_error_log"
CustomLog "logs/pma_access_log" common
<Directory "/mnt/web">
Require all granted
</Directory>
</VirtualHost>
2)要想启用web服务器的虚拟主机功能需要打开主配置文件相应的模块。
vim /etc/httpd24/httpd.conf
Include /etc/httpd24/extra/httpd-vhosts.conf #启用此模块
二:搭建PHP服务器
因为此次编译安装的PHP服务器是在单独的一台主机上,所以编译安装的模块选择中要把--enable-fpm模块编译上去。如果使用PHP5.3以上版本,为了链接MySQL数据库,可以指定mysqlnd,这样在本机就不需要先安装MySQL或MySQL开发包了。mysqlnd从php 5.3开始可用,可以编译时绑定到它(而不用和具体的MySQL客户端库绑定形成依赖),从PHP 5.4开始它就是默认设置了。其他的编译过程请参考LAMP平台编辑博客。
由于本次编译启动了fpm模块,要提供fpm配置文件。
1)配置php-fpm
为php-fpm提供SysV init脚本,并将其添加至服务列表:
# cp sapi/fpm/init.d.php-fpm /etc/rc.d/init.d/php-fpm
# chmod +x /etc/rc.d/init.d/php-fpm
# chkconfig --add php-fpm
# chkconfig php-fpm on
2)为php-fpm提供配置文件:
# cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
编辑php-fpm的配置文件:
# vim /usr/local/php/etc/php-fpm.conf
3)配置fpm的相关选项为你所需要的值,并启用pid文件(如下最后一行):
pm.max_children = 50
pm.start_servers = 5
pm.min_spare_servers = 2
pm.max_spare_servers = 8
pid = /usr/local/php/var/run/php-fpm.pid
三:搭建mysql服务器和DNS服务
mysql搭建请参考编译安装LAMP博客,搭建DNS服务以实现DNS解析轮迅功能参考DNS服务搭建博客。
四:提供NFS服务器
打开NFS主配置文件
vim /etc/exports
/nfs/web192.168.1.16(no_root_squash,rw,no_all_squash)192.168.1.17(no_root_squash,rw,no_a
ll_squash) 172.16.16.3(no_root_squash,rw,no_all_squash)
#172.16.16.3 为NFS文件服务器
#在web服务器上和PHP服务器上挂载NFS文件服务
mount -t nfs 172.16.16.2:/nfs/web /mnt/web 在web服务器上挂载
mount -t nfs 172.16.16.2:/nfs/web /nfs/web 在NFS服务器上挂载
五:安装论坛程序
把安装包解压到/nfs/web 目录下修改upload内的文件就可以加载论坛安装程序了。