热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Nginx学习笔记负载均衡和反向代理

1.代理与反向代理代理服务器:代理内部网络对Internet的连接请求。不支持外部对内部网络的访问请求。反向代理服务器:代理外部网络上的主机访问内部网络。 2.常见WEB负载均衡方
1.代理与反向代理
代理服务器:
代理内部网络Internet的连接请求。
不支持外部对内部网络的访问请求。
反向代理服务器:
代理外部网络上的主机访问内部网络
 
2.常见WEB负载均衡方法
(1)用户手动选择
常见于各个资源下载网站,用户自己手动选择从哪个服务器下载。
(2)DNS轮询方式
对同一主机名,添加多条A记录,让其DNS轮询多个IP
可以通过Linux的dig命令查看域名解析情况:
dig xxx.baidu.com
DNS轮询的缺点:
A.可靠性低
B.负载分配不均衡
因此DNS轮询适用于可靠性要求不高的负载均衡,比如图片服务器集群、纯静态网页服务器集群等。
(3)四/七层负载均衡设备
通常作用与OSI的第四层或第七层
OSI:开放系统互连模型(Open System Interconnection)
 
具体7层 数据格式 功能与连接方式 典型设备
应用层 Application 网络服务与使用者应用程序间的一个接口 网关
表示层 Presentation 数据表示、数据安全、数据压缩
会话层 Session 建立、管理和终止会话
传输层 Transport 数据组织成数据段Segment 用一个寻址机制来标识一个特定的应用程序(端口号) 防火墙
网络层 Network 分割和重新组合数据包Packet 基于网络层地址(IP地址)进行不同网络系统间的路径选择 路由器
数据链路层 Data Link 将比特信息封装成数据帧Frame 在物理层上建立、撤销、标识逻辑链接和链路复用 以及差错校验等功能。通过使用接收系统的硬件地址或物理地址来寻址 网桥、交换机、网卡
物理层Physical 传输比特(bit)流 建立、维护和取消物理连接 光纤、同轴电缆、 
双绞线、中继器和集线器
 
 
3.多线多地区智能DNS解析与混合负载均衡方式
 
 
4.Nginx反向代理配置
使用反向代理之后,后端WEB服务器(以PHP为例),就不能直接通过$_SERVER['REMOTE_ADDR']变量来获取用户的真实IP了,这时获取的将是Nginx负载均衡服务器的IP。此时需要在Nginx反向代理时添加Header头信息X-Forwarded-For,让后端服务器能通过$_SERVER['HTTP-X-FORWORDED-FOR']获取用户真实IP。参考平时我们常用的获取用户IP的函数。
 
 
5.动静态网页分离
 
 

Citrix NetScaler 4-7层负载均衡器(基于TCP)

Nginx负载均衡架构
 Nginx学习笔记-负载均衡和反向代理
 
6.关键的Upstream模块
Upstream:Nginx负载均衡的主要模块,位于http之内,默认的负载均衡方式为轮询。
ip_hash:负载均衡时,将某个客户端IP的请求,通过哈希算法,定位到同一台后端服务器上,以解决session不共享的问题。
如果能做到session共享,还是不要用这个配置,因为其可能造成负载不均衡。
摘除负载均衡服务器,需要设置其down,而不是删除记录,删除记录可能造成session失效(原来的back1hash到back2上去了)
upstream backend{
     ip_hash;
     server back1.10jqka.com.cn;
     server back2.10jqka.com.cn;
     server back3.10jqka.com.cn down;
}
 
server
语法:
server name [parameters]
默认none
name可以是域名、IP、端口号、UNIX Socket
parameters可以是
 
 
7.负载均衡服务器的双机高可用
两种实现方式:
(1)一台主服务器加一台热备服务器
(2)两台负载均衡服务器

推荐阅读
  • 在单位的一台4cpu的服务器上部署了esxserver,挂载了6个虚拟机,目前运行正常。在安装部署过程中,得到了cnvz.net论坛精华区 ... [详细]
  • LVS实现负载均衡的原理LVS负载均衡负载均衡集群是LoadBalance集群。是一种将网络上的访问流量分布于各个节点,以降低服务器压力,更好的向客户端 ... [详细]
  • Nginx使用AWStats日志分析的步骤及注意事项
    本文介绍了在Centos7操作系统上使用Nginx和AWStats进行日志分析的步骤和注意事项。通过AWStats可以统计网站的访问量、IP地址、操作系统、浏览器等信息,并提供精确到每月、每日、每小时的数据。在部署AWStats之前需要确认服务器上已经安装了Perl环境,并进行DNS解析。 ... [详细]
  • 一句话解决高并发的核心原则
    本文介绍了解决高并发的核心原则,即将用户访问请求尽量往前推,避免访问CDN、静态服务器、动态服务器、数据库和存储,从而实现高性能、高并发、高可扩展的网站架构。同时提到了Google的成功案例,以及适用于千万级别PV站和亿级PV网站的架构层次。 ... [详细]
  • Nginx Buffer 机制引发的下载故障
    Nginx ... [详细]
  • 现在比较流行使用静态网站生成器来搭建网站,博客产品着陆页微信转发页面等。但每次都需要对服务器进行配置,也是一个重复但繁琐的工作。使用DockerWeb,只需5分钟就能搭建一个基于D ... [详细]
  • LVS-DR直接路由实现负载均衡示例
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • 域名解析系统DNS
    文章目录前言一、域名系统概述二、因特网的域名结构三、域名服务器1.根域名服务器2.顶级域名服务器(TLD,top-leveldomain)3.权威(Authoritative)域名 ... [详细]
  • 基于PgpoolII的PostgreSQL集群安装与配置教程
    本文介绍了基于PgpoolII的PostgreSQL集群的安装与配置教程。Pgpool-II是一个位于PostgreSQL服务器和PostgreSQL数据库客户端之间的中间件,提供了连接池、复制、负载均衡、缓存、看门狗、限制链接等功能,可以用于搭建高可用的PostgreSQL集群。文章详细介绍了通过yum安装Pgpool-II的步骤,并提供了相关的官方参考地址。 ... [详细]
  • 本文介绍了在rhel5.5操作系统下搭建网关+LAMP+postfix+dhcp的步骤和配置方法。通过配置dhcp自动分配ip、实现外网访问公司网站、内网收发邮件、内网上网以及SNAT转换等功能。详细介绍了安装dhcp和配置相关文件的步骤,并提供了相关的命令和配置示例。 ... [详细]
  • 本文介绍了如何使用php限制数据库插入的条数并显示每次插入数据库之间的数据数目,以及避免重复提交的方法。同时还介绍了如何限制某一个数据库用户的并发连接数,以及设置数据库的连接数和连接超时时间的方法。最后提供了一些关于浏览器在线用户数和数据库连接数量比例的参考值。 ... [详细]
  • 本文介绍了Windows操作系统的版本及其特点,包括Windows 7系统的6个版本:Starter、Home Basic、Home Premium、Professional、Enterprise、Ultimate。Windows操作系统是微软公司研发的一套操作系统,具有人机操作性优异、支持的应用软件较多、对硬件支持良好等优点。Windows 7 Starter是功能最少的版本,缺乏Aero特效功能,没有64位支持,最初设计不能同时运行三个以上应用程序。 ... [详细]
  • 本文讨论了在VMWARE5.1的虚拟服务器Windows Server 2008R2上安装oracle 10g客户端时出现的问题,并提供了解决方法。错误日志显示了异常访问违例,通过分析日志中的问题帧,找到了解决问题的线索。文章详细介绍了解决方法,帮助读者顺利安装oracle 10g客户端。 ... [详细]
  • PG12新增的VACUUM命令的SKIP_LOCKED选项
    PG12版本的VACUUM命令新增了SKIP_LOCKED选项,该选项使得vacuum命令在遇到被lock住的table时可以跳过并被视为成功执行。之前的版本中,vacuum命令会一直处于等待状态。本文还提到了PostgreSQL 12.1版本的相关信息。 ... [详细]
  • POCOCLibraies属于功能广泛、轻量级别的开源框架库,它拥有媲美Boost库的功能以及较小的体积广泛应用在物联网平台、工业自动化等领域。POCOCLibrai ... [详细]
author-avatar
性感的aaaaaaaaa_681
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有