Lvs-nat基于nfs实现php应用

php中文网
发布: 2016-06-23 13:06:37
原创
1911人浏览过

    lvs-nat就是多目标dnat,也就是多目标的地址转换;通过将请求报文中的目标地址和端口地址修改为挑选出来的某rs的rip和port实现转发;


立即学习PHP免费学习笔记(深入)”;

AppMall应用商店
AppMall应用商店

AI应用商店,提供即时交付、按需付费的人工智能应用服务

AppMall应用商店 56
查看详情 AppMall应用商店


立即学习PHP免费学习笔记(深入)”;


立即学习PHP免费学习笔记(深入)”;


立即学习PHP免费学习笔记(深入)”;


立即学习PHP免费学习笔记(深入)”;


立即学习PHP免费学习笔记(深入)”;


立即学习PHP免费学习笔记(深入)”;


立即学习PHP免费学习笔记(深入)”;


立即学习PHP免费学习笔记(深入)”;


立即学习PHP免费学习笔记(深入)”;


立即学习PHP免费学习笔记(深入)”;


立即学习PHP免费学习笔记(深入)”;


立即学习PHP免费学习笔记(深入)”;

Lvs-nat处理请求过程及其特点:

    1、当客户端发出请求时,前端主机接受请求;此时源IP时CIP,目标IP时VIP    

    2、当客户端请求报文经过PREROUTING流入本机的INPUT链上时,如果发现此请求是个集群服务, 随后直接将请求发送给POSTROUTING;再经由前端主机挑选出由那个后端主机提供服务;随后再将请求报文发送给后端主机;此时源IP时CIP,目标IP是RIP1(注意:DIP的网关要指向RIP1)

    3、RIP1接受请求,处理请求,将构建好的响应报文外加一层IP守护;随后再将响应报文发送给前端主机;此时源IP是RIP1,目标IP时CIP(注意:谁最初请求的就响应给谁;同时RIP的网关要指向DIP,这样才能发送报文)

    4、VIP接受到报文后;再将响应报文发送个给客户端;此时源IP是VIP;目标IP是CIP

    真正提供服务的是后端主机;但人们认为提供服务的时前端主机;所以后端主机形成了完美的地址伪装;具有较高的安全性,以防被黑客攻击;但是在整个过程中,所有的响应都必须要经过前端主机,当有大量的用户请求时,前端主机的性能是一个瓶颈!


立即学习PHP免费学习笔记(深入)”;

    nfs:Network  flile  system,网络文件系统,监听在tcp协议的2049端口;主要作用是实现文件共享存储;


立即学习PHP免费学习笔记(深入)”;

准备环境:

    虚拟机1:网卡1: 172.18.42.122;网卡2:10.0.1.100;作为前端主机

    虚拟机2:10.0.1.99;作为后端主机

    虚拟机3:10.0.1.200;作为nfs文件共享存储


立即学习PHP免费学习笔记(深入)”;

在虚拟机1安装ipvsadm

[root@localhost ~]# yum install ipvsadm -y[root@localhost ~]# ipvsadm -Ln   ## 查看规则的先关信息IP Virtual Server version 1.2.1 (size=4096)Prot LocalAddress:Port Scheduler Flags-> RemoteAddress:Port   Forward Weight ActiveConn InActConn
登录后复制

随后定义规则

 

[root@localhost ~]# ipvsadm -A  -t  172.18.42.122:80 -s rr   ##增加一条集群规则[root@localhost ~]# ipvsadm -a  -t  172.18.42.122:80 -r 10.0.1.99 -m -w 1  ##在指定的集群上添加RS的规则[root@localhost ~]# curl http://172.18.42.122    ##查看规则是否定义成功 <h1>10.0.1.99 Web Server RS1</h1>
登录后复制


立即学习PHP免费学习笔记(深入)”;

在虚拟机3启动nfs服务;

[root@localhost ~]# vim /etc/exports /lweim  10.0.1.99(rw)  ##添加这一行[root@localhost ~]# exportfs  -r  ##重载文件
登录后复制

在虚拟机2查看使用showmount命令查看

[root@localhost ~]# showmount -e 10.0.1.200  ##查看是否共享Export list for 10.0.1.200:/lweim 10.0.1.99[root@localhost ~]# mount -t nfs 10.0.1.200:/lweim /var/www/html/ ##把指定的目录挂载至虚拟机2上[root@localhost ~]# mount   ##查看是否挂载上10.0.1.200:/lweim on /var/www/html type nfs (rw,vers=4,addr=10.0.1.200,clientaddr=10.0.1.99)
登录后复制


立即学习PHP免费学习笔记(深入)”;

在虚拟3上更改共享目录的权限以及属主

[root@localhost ~]# chown -R apache:apache /lweim/*  ##将共享目录下所有文件属组属主更改为apache[root@localhost ~]# ll /lweim/wtc/   ##查看是否更改total 24-rw-rw-r--  1 apache apache  451 Nov 29  2014 AUTHORS-rwxrwxr-x  1 apache apache 3757 Nov 29  2014 LICENSE-rw-r--r--  1 apache apache 5796 Nov 29  2014 profile_run.htm-rw-rw-r--  1 apache apache  516 Nov 29  2014 readme.txtdrwxrwxr-x 14 apache apache 4096 Nov 29  2014 upload[root@localhost ~]# setfacl -m u:apache:rwx /lweim/wtc/*   ##更改其权限[root@localhost ~]# ll /lweim/wtc/total 24-rw-rwxr--+  1 apache apache  451 Nov 29  2014 AUTHORS-rwxrwxr-x+  1 apache apache 3757 Nov 29  2014 LICENSE-rw-rwxr--+  1 apache apache 5796 Nov 29  2014 profile_run.htm-rw-rwxr--+  1 apache apache  516 Nov 29  2014 readme.txtdrwxrwxr-x+ 14 apache apache 4096 Nov 29  2014 upload
登录后复制


立即学习PHP免费学习笔记(深入)”;

在虚拟2上安装lamp以及php-xml(phpwind的扩展能够;否则安装的时候有可能失败)

[root@localhost ~]# yum install httpd php php-mysql mysql-server -y  ##安装程序

[root@localhost ~]# service httpd start    ##启动httpd服务


立即学习PHP免费学习笔记(深入)”;

在Web服务上访问php程序


立即学习PHP免费学习笔记(深入)”;

在虚拟机2启动mysql程序,并授权

 [root@localhost ~]# service mysqld start  #启动mysql服务 mysql> grant all on lweim.* to lweim@'127.0.0.1' identified by 'lweim';  ##创建本地授权用户“lweim” Query OK, 0 rows affected (0.00 sec) mysql> create database lweim;   ##创建数据库 “lweim” Query OK, 1 row affected (0.00 sec) mysql> flush privileges;    ##更新数据库 Query OK, 0 rows affected (0.00 sec)
登录后复制


立即学习PHP免费学习笔记(深入)”;

安装phpwind并登陆

 

问题小结:

(1)对于nfs共享的目录一定要更改其属主属组以及权限;同时在客户端和服务端一定又要UID相同的用户,这一点很重要;

(2)在对前端主机设置管理服务器规则时要注意到底是基于VIP还是基于DIP访问Web服务;

PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号