利用nfs共享实现多台web服务器的负载均衡(转载,没实现过)

一、实验目的

本实验主要通过nfs解决多台web服务器负载均衡的问题和数据同步的问题。

二、实验环境:

如上拓扑图所示,在server1上安装有mysql数据库,server2和server3通过nfs共享server1上的mysql数据库,同时,将discuz网站的源码放在server1上,即:server1只运行mysql,而server2和server3只运行php和apache。这样可以保证用户不管访问server2或者server3都可以得到相同的结果。

三、实验步骤

1、server1的配置

(1)首先在server1上安装mysql(在此以绿色版为例,具体步骤请参照博文LAMP的编译安装),在此不再赘述。

(2)利用nfs将mysql的解压后的文件和discuz共享出去。

点击(此处)折叠或打开

  1. #yum -y install nfs-utils
  2. #service portmap start #vim /etc/exports (在此文件中添加如下内容)
  3. /usr/local/mysql 172.16.66.1(rw)
  4. /usr/local/mysql 172.16.77.1(rw) #exportfs -arv 将discuz共享出去,同理需要编辑/etc/exports文件 #vim /etc/exports 在此文件中添加如下内容:
  5. /web 172.16.66.1(rw) /web 172.16.77.1(rw) /注意要事先将discuz的文件放在/web目录中。
  6. #exportfs -arv

2、server2的配置

(1)安装apache-2.4.2,具体步骤请参照博文LAMP的编译安装。
(2)将server1共享的文件挂载至本机。

点击(此处)折叠或打开

  1. #mkdir /mysql(将server1的mysql文件挂载至此目录中)
  2. #mkdir /web(将server1中的discuz挂载至此目录中)
  3. #vim /etc/fstab 在此文件中添加如下内容: 172.16.58.1:/usr/local/mysql /mysql nfs default 0 0 172.16.58.1:/web /web nfs default 0 0
  4. #mount -a

(3)编译安装php。注意php指定的--with-mysql与--with-mysqli的路径。

点击(此处)折叠或打开

  1. # tar xf php-5.4.4.tar.bz2
  2. # cd php-5.3.14
  3. # ./configure --prefix=/usr/local/php --with-mysql=/mysql --with-openssl --with-mysqli=/mysql/bin/mysql_config --enable-mbstring --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --with-apxs2=/usr/local/apache/bin/apxs --with-mcrypt --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d --with-bz2
  4. # make
  5. # make test
  6. # make intall

3、server3配置

server3的配置和server2的配置一样,在此不赘述。

四、实验结果及验证

1、在浏览器中输入172.16.66.1/install(注意第一次一定要这样输入),出现如下页面:

2、进入下一步进入如下页面:

注意以上页面是执行以下命令得到的结果,在server1上做如下操作:

点击(此处)折叠或打开

  1. #setfacl -m u:daemon:rw ./config.inc.php #setfacl -m u:daemon:rwx ./attachments/ ./forumdata/ ./forumdata/cache/ ./forumdata/templates/ ./forumdata/threadcaches/ ./forumdata/logs/ ./uc_client/data/cache/

3、点击下一步,进入如下页面:

如果出现如下界面,则说明需要在server1的mysql数据中创建数据库和用户具体步骤如下:

如出现以上情况则在server上做如下操作:

点击(此处)折叠或打开

  1. mysql> create database discuz;
  2. mysql> create user ‘discuz‘@172.16.77.1 identified by ‘redhat‘;
  3. mysql> create user ‘discuz‘@172.16.66.1 identified by ‘redhat‘;
  4. mysql> grant ALL on discuz.* to ‘discuz‘@172.16.66.1;
  5. mysql> grant ALL on discuz.* to ‘discuz‘@172.16.77.1;
  6. mysql> flush privileges;

4、以后一直点击就可以了,最终会得到如下界面:

5、注册一个用户并在其上发表帖子,这是在server3的操作如下:

在用户登录server2这台主机就能看到如下效果了:

到此为止实验结束!!!

时间: 2024-11-04 12:15:57

利用nfs共享实现多台web服务器的负载均衡(转载,没实现过)的相关文章

两台web服务器实现负载均衡的解决方案

写在前面:如果此文有幸被某位朋友看见并发现有错的地方,希望批评指正.如有不明白的地方,愿可一起探讨. 总体方案 平台规划拓扑图如下: 总体解决方案: 两台web服务通过DNS实现负载均衡,共享NFS服务器,通过NFS服务器共享MySQL服务器 说明:接下来将搭建DNS服务器.两台web服务器.NFS服务器以及MySQL服务器,在此过程中只给出实现过程及其步骤,望理解. 搭建DNS服务器 1.编辑主配置文件 # vim /etc/named.conf options { directory   "

EG:nginx反向代理两台web服务器,实现负载均衡 所有的web服务共享一台nfs的存储

step1: 三台web服务器环境配置:iptables -F; setenforce 0 关闭防火墙:关闭setlinux step2:三台web服务器 装软件 step3:主机修改配置文件:vim /usr/local/nginx/conf/nginx.conf 代理服务器修改文件:修改端口即可,端口可以自己设 ,不改默认的也行,但是得相应匹配 为测试需要,更改三台机器nginx的html文件: mv /usr/local/nginx/html/index.html /usr/local/n

双节点(nginx+keepalived)为两台apache服务器提供负载均衡

说明:本实验为双节点nginx为两台apache服务器提供负载均衡,本文不是做lvs,所以realserver不是配置在keepalived.conf而是在nginx的配置文件中upstream.此架构需考虑的问题:1)Master没挂,则Master占有vip且nginx运行在Master上2)Master挂了,则backup抢占vip且在backup上运行nginx服务3)如果master服务器上的nginx服务挂了,则vip资源转移到backup服务器上4)检测后端服务器的健康状态Mast

单节点nginx为两台apache服务器提供负载均衡

需求:本实验为单节点nginx为两台apache服务器提供负载均衡,所有配置为最简单 1.初始化3台测试server,该关的关了 [[email protected] ~]# vim /etc/hosts 192.168.1.101 ng-master 192.168.1.161 web1 192.168.1.162 web2 [[email protected] ~]# yum clean all [[email protected] ~]# systemctl stop firewalld.

单节点nginx为两台apache服务器提供负载均衡(转载)

单节点nginx为两台apache服务器提供负载均衡 需求:本实验为单节点nginx为两台apache服务器提供负载均衡,所有配置为最简单 1.初始化3台测试server,该关的关了 1 2 3 4 5 6 7 8 9 [[email protected] ~]# vim /etc/hosts 192.168.1.101   ng-master 192.168.1.161   web1 192.168.1.162   web2 [[email protected] ~]# yum clean a

使用varnish的缓存功能实现后端服务器的负载均衡及资源的定向分发

结构拓扑图:使用varnish软件实现后端两台web服务器的负载均衡并实现客户端请求内容的定向分发.准备基础环境: 在三台后端服务器上安装httpd服务,其中一台作为图片服务器提供服务,另两台作为静态文本服务器. yum install -y httpd systemctl start httpd systemctl enable httpd 关闭防火墙 systemctl stop firewalld 设置selinux为disabled 三台服务器做同样设置 在图片服务器的/var/www/

多台web服务器之间共享session

常见的几种方法如下: 1. 写客户端Cookie的方式 当用户登陆成功以后,把网站域名.用户名.密码.token.session有效时间全部采用cookie的形式写入到客户端的cookie里面,如果用户从一台Web服务器跨越到另一台服务器的时候,我们的程序主动去检测客户端的cookie信息,进行判断,然后提供对应的服务,当然,如果cookie过期,或者无效,自然就不让用户继续服务了.当然,这种方法的弊端就不言而喻了,比如客户端禁用了cookie或者cookie被黑客窃取了呢? 2. 服务器之间S

两台web服务器做文件共享,负载均衡

服务器环境:httpd.php.MySQL.DNS.NFS共配置4台虚拟机,web服务各一台,PHP.DNS一台,MySQL.NFS一台. 网段使用172.16.0.0/16 注:httpd,php,DNS服务在此前的博客中有详细说明,这里就不在详细演示,在此前的基础上追加安装,MySQL,NFS 一.安装mysql-5.5.33 下载mysql-5.5.33-linux2.6-x86_64.tar.gz软件包 1.准备数据存放的文件系统 因为数据总是在动态增长的,所以我们要创建一个逻辑卷来保存

heartbeat 配置两台web服务器高可用集群案例

通过heartbeat 配置两台web服务器高可用集群案例: 拓扑: web1:192.168.0.101 hostname: web1.example.com web2:192.168.0.102 hostname:web2.example.com vip:192.168.0.254 nfs服务器:192.168.0.100(存放web页面) 注意: 1主机名要与uname -n 保持一致 2.web1与web2主机的date时间保持同步 3.web1与web2,ssh双机互信通信 4.关闭i