设为首页 收藏本站
查看: 1369|回复: 0

[经验分享] LVS-NAT基于NFS存储部署Discuz

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2016-5-18 08:40:43 | 显示全部楼层 |阅读模式
LVS (Linux Virtual Server) :Linux虚拟服务器。主要用于负载均衡场景,解决单节点服务器的压力,提高了容灾能力
LVS根据实现的方式不同分为:LVS-Nat、LVS-Dr、LVS-Tun、LVS-Fullnat
LVS-nat特点:
   1.调度器director配置双网卡,一块配置外部网络IP为VIP,另外一块网卡为DIP,必须和后端服务器RS的RIP在同一网络中,并且RIP的Gateway必须指向DIP

   2.请求报文和响应报文都通过Director,因此,如果在较高的负载情况下,Director可能成为瓶颈

   3.客户端请求资源时做到并不清楚后端主机的情况,因此可以隐藏后端服务器,防止被攻击


本次实验的场景是采用LVS-NAT模型搭建一个discuz,一共使用四台主机,一台LVS主机提供负载均衡,两台LAMP主机提供访问,一台NFS提供远程存储
LVS-NAT服务器LAMP1服务器LAMP2服务器NFS服务器
DIP:192.18.254.122RIP1:192.18.254.123RIP2:192.18.254.124192.18.254.125
VIP:172.18.254.122



主机4:作为NFS服务器
1.启动NFS服务
1
systemctl start nfs.service



2.创建一个目录专门用来远程共享
1
mkdir /web/html



3.定义可以访问此NFS的主机
1
2
vim /etc/exports
/web/html    192.18.254.123(rw),192.18.254.124(rw)



4.重新导出文件系统
1
exports -r



5.创建一个用户并指明UID号
1
useradd -u 1600 web



6.修改用户权限,使用户可以对目录进行相应操作
1
setfacl -m u:web:rwx /web/html




主机3:作为http php mysql 服务器
1.创建一个目录用来专门挂载NFS
1
mkdir /hm/html



2.创建和NFS服务器同ID的用户
1
useradd -u 1600 web



3.挂载远端NFS到本地
1
mount -t nfs 192.18.254.125:/web/html



4.查看挂载状态是否正常
1
mount



5安装http php mysql
1
yum -y install http php php-mysql mariadb



6.修改http.conf中的配置
1
2
ServerName www.discuz.com:80
DocumentRoot "/hm/html"



7.启动httpd服务
1
systemctl start httpd.service



8.在 /hm/html 创建一个index.html并且写入一些字符
1
echo "httpd test" > /hm/html



9.启动数据库
1
2
systemctl start mariadb.service
mysql_secure_installation



9.以root用户和密码进入数据库创建discuz需要用到的数据库,远程登录的主机
1
2
3
4
  mysql -uroot -p
  CREATE DATABASE disdb;
GRANT ALL ON disdb.* TO 'disuser'@192.18.%.% IDENTIFIED BY 'dis';
FLUSH PRIVILEGES;



10.测试PHP能否连接mariadb。将/hm/html/目录下的index.index为index.php
1
2
3
4
5
6
7
<?php
        $conn=mysql_connect('172.18.254.124','disuser','dis');
        if($conn)
             echo "ok";
        else
              echo"failure";
?>



11.登录浏览器输入主机名查看是否正常
12.下载Discuz到/hm/html/dis目录下,解压并创建连接
1
unzip Discuz_X3.2_SC_UTF8.zip



13.进入/hm/html/Dis/upload/config修改config_global_default.php
1
vim config_global_default.php



修改其中的 dbhost  dbuser dbpw  diname
wKiom1c7KFGBTbFNAAAhItwG2oE470.jpg
14.修改config下的data uc_server
1
2
chmod 777 data
chmod 777 uc_server



15.启动浏览器键入www.discuz.com/dis一步步安装完成。
16.修改DocumentRoot
1
DocumentRoot "/hm/html/dis"



主机2的配置和主机3基本一致


主机1:LVS服务器
1.安装ipvsadm
1
yum -y install ipvsadm



2.添加转发规则
1
2
3
ipvsadm -A -t 172.18.254.122:80 -s rr
ipvsadm -a -t 192.18.254.122:80 -r 192.18.254.123:80 -m
ipvsadm -a -t 192.18.254.122:80 -r 192.18.254.124:80 -m



3.查看LVS规则表
1
ipvsadm -Ln



4.开启路由转发功能
1
2
3
vim /etc/sysctl
net.ipv4.ip_forward = 1
sysctl -p



5.查看防火墙和selinux是否处于关闭状态
1
2
iptables -nvL
getenforce



6.打开浏览器键入 172.18.254.122

注意:
   1. 测试LVS的过程中可以在两台LAMP的DocumetRoot下的index.php放入不同的内容以便查看是否基于rr进行负载均衡。

   2.LVS-NAT中Director需要打开路由转发功能。
   3.NFS服务器需要授对应主机能够挂载对应目录,并且客户端必须有和NFS服务端有同UID的账户。






运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-218425-1-1.html 上篇帖子: lvs-dr模型负载均衡 下篇帖子: 基于lvs-dr模型的discuz负载均衡实现
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表