阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

LAMP平台LVS负载均衡

403次阅读
没有评论

共计 6783 个字符,预计需要花费 17 分钟才能阅读完成。

需求说明
搭建 LAMP 平台部署应用 discuz,要求如下:

1、为了减轻单个服务器压力,部署两台 WEB 服务器,使用 LVS-DR 模式对服务器实现负载均衡。

2、将 MySQL 服务器和 AP 进行分离,两台 AP 访问同一台 Mysql 服务器,实现数据库数据一致性。

3、AP 的网页文件都存储在 NFS 共享存储上,实现网页文件一致性。

架构缺陷:

LVS 单点,Mysql 单点,NFS 单点,交换机单点,这些设备一旦有一个出现问题,就会导致网站访问出错;当然也有很多解决方法,如 LVS 可以 lvs+keeplive 避免单点,Mysql 可以做主从同步,NFS 可以做分布式文件系统,交换机可以做冗余链路。这些会在后期博文,给出文章。

实验拓扑

LAMP 平台 LVS 负载均衡

部署 NFS
安装 NFS,系统默认自带

[root@MN ~]# rpm -qa | grep nfs
nfs-utils-1.2.3-54.el6.x86_64
nfs-utils-lib-1.1.5-9.el6.x86_64
nfs4-acl-tools-0.3.3-6.el6.x86_64

设置 NFS 共享,这个共享的目录以后就是存放 web 页面文件的地方,而且需要保证用户有写权限。

[root@MN ~]# mkdir /LAP
[root@MN ~]# vim /etc/exports
/LAP 172.16.4.101(rw) 172.16.4.102(rw)

启动 nfs,验证共享

[root@MN ~]# service nfs start
[root@MN ~]# showmount -e 172.16.4.136
Export list for 172.16.4.136:
/LAP 172.16.4.102,172.16.4.101

客户端挂载

[root@LAP-1 ~]# mount -t nfs 172.16.4.136:/LAP /var/www/html/
[root@LAP-2 ~]# mount -t nfs 172.16.4.136:/LAP /var/www/html/

查看是否挂载

[root@LAP-1 ~]# df -h
172.16.4.136:/LAP      20G 285M  19G  2% /var/www/html
[root@LAP-2 ~]# df -h
172.16.4.136:/LAP      20G 285M  19G  2% /var/www/html

部署 Mysql
安装 Mysql

[root@MN ~]# yum -y install mysql-server

启动 Mysql

[root@MN ~]# service mysqld start
[root@MN ~]# netstat -lnt | grep :3306
tcp      0      0 0.0.0.0:3306                0.0.0.0:*                  LISTEN

部署 LAP
CentOS6.6 已经内置了 httpd 所以无需安装,安装 Mysql 是 php 依赖 Mysql,但是 Mysql 不许要启动

[root@LAP-2 ~]# yum -y install php php-mysql mysql  mysql-server
[root@LAP-1 ~]# yum -y install php php-mysql mysql mysql-server

设置完成启动 httpd 服务即可,其他都无需配置 LAMP 平台就搭建好了

[root@LAP-1 ~]# service httpd start
[root@LAP-2 ~]# service httpd start

 

验证 httpd 连接 php

在 NFS 服务设置测试页面

[root@MN ~]# vim /LAP/index.php
<?php
phpinfo();
?>

LAMP 平台 LVS 负载均衡

测试连接 Mysql

Mysql 设置 root 允许远程连接

mysql> GRANT ALL PRIVILEGES ON *.* TO’root’@’172.16.%.%’;
mysql> flush privileges;

nfs 创建测试页面

[root@MN ~]# vim /LAP/index.php
<?php
 $conn=mysql_connect(‘172.16.4.136′,’root’,”);
  if ($conn)
  echo “ 连接数据库成功 ”;
  else
  echo “ 连接数据库失败 ”
?>

分别访问两台 WEB 服务器都可以正常连接 Mysql

LAMP 平台 LVS 负载均衡
LAMP 平台 LVS 负载均衡

LAMP 平台准备 ok 就可以部署 discuz 了

部署 Discuz
创建 Discuz 数据库和连接用户

mysql> create database bbsdb;
mysql> GRANT all ON bbsdb.* TO’runbbs’@’172.16.4.101′ IDENTIFIED BY ‘adm123’;
mysql> GRANT all ON bbsdb.* TO’runbbs’@’172.16.4.102′ IDENTIFIED BY ‘adm123’;
mysql> flush privileges;

将 Discuz 安装的网页文件放到 NFS 共享目录

[root@MN ~]# unzip Discuz_7.2_FULL_SC_UTF8.zip -dDiscuz
[root@MN ~]# mv Discuz/upload/* /LAP/

随便输入 LAP 中的一个 ip 地址,url 后面 +install 就可以安装了

LAMP 平台 LVS 负载均衡

解决问题:

[root@LAP1 ~]# vim /etc/php.ini
short_open_tag = ON
[root@LAP1 ~]# scp /etc/php.iniroot@172.16.4.102:/etc/php.ini

设置完成重启 web 服务器

 

又有了一个写权限问题,如下图所示

LAMP 平台 LVS 负载均衡

更多详情见请继续阅读下一页的精彩内容:http://www.linuxidc.com/Linux/2016-12/138748p2.htm

由于 NFS 的权限是更具用户 id 进行验证的,而 MN 的 apache 和 LAP1,LAP2 的 apache 用户 id 一致,所以直接对 apache 用户进行授权写操作。

[root@MN LAP]# setfacl -m u:apache:rwx./config.inc.php ./attachments/  ./forumd
ata/ ./forumdata/cache/ ./forumdata/templates/  ./forumdata/threadcaches/ ./foru
mdata/logs/ ./uc_client/data/cache/

如果检测都没有 x 号就可以继续了

LAMP 平台 LVS 负载均衡

设置数据库相关信息,需要正确填写数据库的地址,用户名和密码才可以安装。

LAMP 平台 LVS 负载均衡

安装完成出现的界面

LAMP 平台 LVS 负载均衡

刚才安装是在 172.16.4.101 安装完成的,在 172.16.4.102 没有进行安装,但是由于 NFS 共享的原因,在 4.101 安装完成的时候,NFS 的文件也就进行修改,所以访问 4.102 的时候,就是访问安装好的文件。

LAMP 平台 LVS 负载均衡

部署 LVS-DR
调度器设置
安装 ipvsadm

[root@LVS ~]# yum -y install ipvsadm

设置 vip 地址

[root@LVS ~]# ifconfig eth0:0 172.16.4.1 netmask255.255.255.255 up
[root@LVS ~]# ifconfig | grep 172.16.4.1
        inet addr:172.16.4.100 Bcast:172.16.255.255 Mask:255.255.0.0
        inet addr:172.16.4.1 Bcast:172.16.4.1 Mask:255.255.255.255

配置负载均衡策略

[root@LVS ~]# ipvsadm -A -t 172.16.4.1:80 -s rr
[root@LVS ~]# ipvsadm -a -t 172.16.4.1:80 -r172.16.4.101 -g -w 1
[root@LVS ~]# ipvsadm -a -t 172.16.4.1:80 -r172.16.4.102 -g -w 1
[root@LVS ~]# ipvsadm -L -n
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port          Forward Weight ActiveConn InActConn
TCP 172.16.4.1:80 rr
  ->172.16.4.101:80              Route  1    0          0       
  ->172.16.4.102:80              Route  1    0          0

LAP1 设置

[root@LAP1 ~]# echo “1” >/proc/sys/net/ipv4/conf/lo/arp_ignore
[root@LAP1 ~]# echo “2”>/proc/sys/net/ipv4/conf/lo/arp_announce
[root@LAP1 ~]# echo “1”>/proc/sys/net/ipv4/conf/all/arp_ignore
[root@LAP1 ~]# echo “2”>/proc/sys/net/ipv4/conf/all/arp_announce
[root@LAP1 ~]# ifconfig lo:0 172.16.4.1 broadcast172.16.4.1 netmask 255.255.255.255 up
[root@LAP1 ~]# ifconfig | grep 172.16.4.1
        inet addr:172.16.4.101 Bcast:172.16.255.255 Mask:255.255.0.0
        inet addr:172.16.4.1 Mask:255.255.255.255
[root@LAP1 ~]# route add -host 172.16.4.1 dev lo:0

LAP2 设置

[root@LAP2 ~]# echo “1”>/proc/sys/net/ipv4/conf/lo/arp_ignore
[root@LAP2 ~]# echo “2”>/proc/sys/net/ipv4/conf/lo/arp_announce
[root@LAP2 ~]# echo “1”>/proc/sys/net/ipv4/conf/all/arp_ignore
[root@LAP2 ~]# echo “2” >/proc/sys/net/ipv4/conf/all/arp_announce
[root@LAP2 ~]# ifconfig lo:0 172.16.4.1 broadcast172.16.4.1 netmask 255.255.255.255 up
[root@LAP2 ~]# ifconfig | grep 172.16.4.1
        inet addr:172.16.4.102 Bcast:172.16.255.255 Mask:255.255.0.0
        inet addr:172.16.4.1 Mask:255.255.255.255
[root@LAP2 ~]# route add -host 172.16.4.1 dev lo:0

设置完成就可以使用 vip 地址访问 bbs 了。

本文永久更新链接地址:http://www.linuxidc.com/Linux/2016-12/138748.htm

需求说明
搭建 LAMP 平台部署应用 discuz,要求如下:

1、为了减轻单个服务器压力,部署两台 WEB 服务器,使用 LVS-DR 模式对服务器实现负载均衡。

2、将 MySQL 服务器和 AP 进行分离,两台 AP 访问同一台 Mysql 服务器,实现数据库数据一致性。

3、AP 的网页文件都存储在 NFS 共享存储上,实现网页文件一致性。

架构缺陷:

LVS 单点,Mysql 单点,NFS 单点,交换机单点,这些设备一旦有一个出现问题,就会导致网站访问出错;当然也有很多解决方法,如 LVS 可以 lvs+keeplive 避免单点,Mysql 可以做主从同步,NFS 可以做分布式文件系统,交换机可以做冗余链路。这些会在后期博文,给出文章。

实验拓扑

LAMP 平台 LVS 负载均衡

部署 NFS
安装 NFS,系统默认自带

[root@MN ~]# rpm -qa | grep nfs
nfs-utils-1.2.3-54.el6.x86_64
nfs-utils-lib-1.1.5-9.el6.x86_64
nfs4-acl-tools-0.3.3-6.el6.x86_64

设置 NFS 共享,这个共享的目录以后就是存放 web 页面文件的地方,而且需要保证用户有写权限。

[root@MN ~]# mkdir /LAP
[root@MN ~]# vim /etc/exports
/LAP 172.16.4.101(rw) 172.16.4.102(rw)

启动 nfs,验证共享

[root@MN ~]# service nfs start
[root@MN ~]# showmount -e 172.16.4.136
Export list for 172.16.4.136:
/LAP 172.16.4.102,172.16.4.101

客户端挂载

[root@LAP-1 ~]# mount -t nfs 172.16.4.136:/LAP /var/www/html/
[root@LAP-2 ~]# mount -t nfs 172.16.4.136:/LAP /var/www/html/

查看是否挂载

[root@LAP-1 ~]# df -h
172.16.4.136:/LAP      20G 285M  19G  2% /var/www/html
[root@LAP-2 ~]# df -h
172.16.4.136:/LAP      20G 285M  19G  2% /var/www/html

部署 Mysql
安装 Mysql

[root@MN ~]# yum -y install mysql-server

启动 Mysql

[root@MN ~]# service mysqld start
[root@MN ~]# netstat -lnt | grep :3306
tcp      0      0 0.0.0.0:3306                0.0.0.0:*                  LISTEN

部署 LAP
CentOS6.6 已经内置了 httpd 所以无需安装,安装 Mysql 是 php 依赖 Mysql,但是 Mysql 不许要启动

[root@LAP-2 ~]# yum -y install php php-mysql mysql  mysql-server
[root@LAP-1 ~]# yum -y install php php-mysql mysql mysql-server

设置完成启动 httpd 服务即可,其他都无需配置 LAMP 平台就搭建好了

[root@LAP-1 ~]# service httpd start
[root@LAP-2 ~]# service httpd start

 

验证 httpd 连接 php

在 NFS 服务设置测试页面

[root@MN ~]# vim /LAP/index.php
<?php
phpinfo();
?>

LAMP 平台 LVS 负载均衡

测试连接 Mysql

Mysql 设置 root 允许远程连接

mysql> GRANT ALL PRIVILEGES ON *.* TO’root’@’172.16.%.%’;
mysql> flush privileges;

nfs 创建测试页面

[root@MN ~]# vim /LAP/index.php
<?php
 $conn=mysql_connect(‘172.16.4.136′,’root’,”);
  if ($conn)
  echo “ 连接数据库成功 ”;
  else
  echo “ 连接数据库失败 ”
?>

分别访问两台 WEB 服务器都可以正常连接 Mysql

LAMP 平台 LVS 负载均衡
LAMP 平台 LVS 负载均衡

LAMP 平台准备 ok 就可以部署 discuz 了

部署 Discuz
创建 Discuz 数据库和连接用户

mysql> create database bbsdb;
mysql> GRANT all ON bbsdb.* TO’runbbs’@’172.16.4.101′ IDENTIFIED BY ‘adm123’;
mysql> GRANT all ON bbsdb.* TO’runbbs’@’172.16.4.102′ IDENTIFIED BY ‘adm123’;
mysql> flush privileges;

将 Discuz 安装的网页文件放到 NFS 共享目录

[root@MN ~]# unzip Discuz_7.2_FULL_SC_UTF8.zip -dDiscuz
[root@MN ~]# mv Discuz/upload/* /LAP/

随便输入 LAP 中的一个 ip 地址,url 后面 +install 就可以安装了

LAMP 平台 LVS 负载均衡

解决问题:

[root@LAP1 ~]# vim /etc/php.ini
short_open_tag = ON
[root@LAP1 ~]# scp /etc/php.iniroot@172.16.4.102:/etc/php.ini

设置完成重启 web 服务器

 

又有了一个写权限问题,如下图所示

LAMP 平台 LVS 负载均衡

更多详情见请继续阅读下一页的精彩内容:http://www.linuxidc.com/Linux/2016-12/138748p2.htm

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计6783字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中

星哥玩云

星哥玩云
星哥玩云
分享互联网知识
用户数
4
文章数
19351
评论数
4
阅读量
7992304
文章搜索
热门文章
星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛 NAS-6:抖音视频同步工具,视频下载自动下载保存 前言 各位玩 NAS 的朋友好,我是星哥!...
星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛 NAS-3:安装飞牛 NAS 后的很有必要的操作 前言 如果你已经有了飞牛 NAS 系统,之前...
我把用了20年的360安全卫士卸载了

我把用了20年的360安全卫士卸载了

我把用了 20 年的 360 安全卫士卸载了 是的,正如标题你看到的。 原因 偷摸安装自家的软件 莫名其妙安装...
再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见 zabbix!轻量级自建服务器监控神器在 Linux 的完整部署指南 在日常运维中,服务器监控是绕不开的...
飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛 NAS 中安装 Navidrome 音乐文件中文标签乱码问题解决、安装 FntermX 终端 问题背景 ...
阿里云CDN
阿里云CDN-提高用户访问的响应速度和成功率
随机文章
星哥带你玩飞牛NAS-2:飞牛配置RAID磁盘阵列

星哥带你玩飞牛NAS-2:飞牛配置RAID磁盘阵列

星哥带你玩飞牛 NAS-2:飞牛配置 RAID 磁盘阵列 前言 大家好,我是星哥之前星哥写了《星哥带你玩飞牛 ...
自己手撸一个AI智能体—跟创业大佬对话

自己手撸一个AI智能体—跟创业大佬对话

自己手撸一个 AI 智能体 — 跟创业大佬对话 前言 智能体(Agent)已经成为创业者和技术人绕...
免费无广告!这款跨平台AI RSS阅读器,拯救你的信息焦虑

免费无广告!这款跨平台AI RSS阅读器,拯救你的信息焦虑

  免费无广告!这款跨平台 AI RSS 阅读器,拯救你的信息焦虑 在算法推荐主导信息流的时代,我们...
如何安装2026年最强个人助理ClawdBot、完整安装教程

如何安装2026年最强个人助理ClawdBot、完整安装教程

如何安装 2026 年最强个人助理 ClawdBot、完整安装教程 一、前言 学不完,根本学不完!近期,一款名...
星哥带你玩飞牛NAS-8:有了NAS你可以干什么?软件汇总篇

星哥带你玩飞牛NAS-8:有了NAS你可以干什么?软件汇总篇

星哥带你玩飞牛 NAS-8:有了 NAS 你可以干什么?软件汇总篇 前言 哈喽各位玩友!我是是星哥,不少朋友私...

免费图片视频管理工具让灵感库告别混乱

一言一句话
-「
手气不错
你的云服务器到底有多强?宝塔跑分告诉你

你的云服务器到底有多强?宝塔跑分告诉你

你的云服务器到底有多强?宝塔跑分告诉你 为什么要用宝塔跑分? 宝塔跑分其实就是对 CPU、内存、磁盘、IO 做...
星哥带你玩飞牛NAS-14:解锁公网自由!Lucky功能工具安装使用保姆级教程

星哥带你玩飞牛NAS-14:解锁公网自由!Lucky功能工具安装使用保姆级教程

星哥带你玩飞牛 NAS-14:解锁公网自由!Lucky 功能工具安装使用保姆级教程 作为 NAS 玩家,咱们最...
颠覆 AI 开发效率!开源工具一站式管控 30+大模型ApiKey,秘钥付费+负载均衡全搞定

颠覆 AI 开发效率!开源工具一站式管控 30+大模型ApiKey,秘钥付费+负载均衡全搞定

  颠覆 AI 开发效率!开源工具一站式管控 30+ 大模型 ApiKey,秘钥付费 + 负载均衡全...
让微信公众号成为 AI 智能体:从内容沉淀到智能问答的一次升级

让微信公众号成为 AI 智能体:从内容沉淀到智能问答的一次升级

让微信公众号成为 AI 智能体:从内容沉淀到智能问答的一次升级 大家好,我是星哥,之前写了一篇文章 自己手撸一...
支付宝、淘宝、闲鱼又双叕崩了,Cloudflare也瘫了连监控都挂,根因藏在哪?

支付宝、淘宝、闲鱼又双叕崩了,Cloudflare也瘫了连监控都挂,根因藏在哪?

支付宝、淘宝、闲鱼又双叕崩了,Cloudflare 也瘫了连监控都挂,根因藏在哪? 最近两天的互联网堪称“故障...