nginx 作为负载均衡服务器应用案例| 学习笔记

本文涉及的产品
传统型负载均衡 CLB,每月750个小时 15LCU
应用型负载均衡 ALB,每月750个小时 15LCU
网络型负载均衡 NLB,每月750个小时 15LCU
简介: 快速学习 nginx作 为负载均衡服务器应用案例。

开发者学堂课程【企业 Web 常用架构 LAMP-LNMP 实战nginx作为负载均衡服务器应用案例】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/385/detail/4836


nginx 作为负载均衡服务器应用案例

 

目录:

一、负载均衡算法

二、常见的nginx应用架构以及几个故障排除案例


一、负载均衡算法

 常用的算法

1.轮询

第一个请求交给第一个,第二个交给第二个,三个交给第一个。

2. Weight

Weight 的应用方向主要针对于站点,户端服务器性能不一致。它的工作就是把处理请求的时候,如果服务器好,就多去承担一个请求,如果的服务器差点,就少点。占其中一个就可以通过 Weight

去实现。

针对后端服务器性能不一致,如果后端服务器配置都不一样的服务器最好多承担。

3. ip_hash

第三个是 ip_hash,ip_hash 是基于 ip 算法的。一般用在动静网站,比如共享。可以通过 ip_hash 登陆后台,如果通过的没有 ip 的算法,第一个请求会跳到第一个后端服务器的后台上去。第二个请求跳到第二个,但是后台登录会出现超时的情况。

案例

(关键字)upstream myserver( 这里的值不建议用ip)

server 192.168.12.181:80 weight=3 max_fails=timeout=20s;(关于请求的一个时间)如果在20s之内没有接受到请求,说明这个服务器的一个问题:这就是后端容错的一个算法。

server 192.168.12.181:80 weight=1 max_fails=timeout=20s;

server 192.168.12.181:80 weight=4 max_fails=timeout=20s;

}

Sever

{

Listen     80;

server_name www.domain.com 192.168.12.189;

index index.htm index.html;

root/ixdba/web/wrwwroot;

重点引用的参数

location/( 通过反向代理的功能进行引用)

prexy_passhttp://myserver (负载的策略,在后端服务器发生的状况时,出现一个判断,当发现一些状况例如502 503 时,就会把请求重置,能保证当出现一些故障的时候,不会把一些请求反给用户等等。

proxy_next_upstreamhttp_500http_502 http_503 error timeout invalid_header;

includelopt/nginx/conf/proxy.conf;

这个例子使用的是第二个算法,根据 weight 全值,去做一个匹配。在定义的负载均衡时的关键字 upstream 来做定义。

首先定义一个 upstream,和自定义的字符 server ,这里不建议用 ip ,因为也是一个字符,所以只需要用一个普通字符。

首先跟上后端的 ip 端口,接着跟上一个字符。Msx-fails 的意思是最大可失败的次数,超过三个失败之后,就不会把新的请求转走,只能是关于请求的一个时间.去后端的节点去做一个探测请求,如果在20秒之内,还没有收到后端服务器的请求的话,就认为这个节点出现了问题。这种20秒持续三次。如果持续三次在一分钟,60秒之内,这个情况下,那就把这个节点从机器里面返回。

后面要做一个引用,当 proxy-pass 这个参数在这,或者未引用来通过反向代理的功能,重点看后面跟着的参数,跟上面对应起来,需要注意的时关于负担的一些策略,像后端这状态的话,会做一个跳转。或者发生一些错误的话,都会把请求去重置。

当后面出现不足的时候,他不会把的故障请求返回给前端的一个浏览器,或者返回给前端的的用户。

问题提问与讨论

1. 不加端口是没有问题,默认80端口

2. 反向代理就是要分清为什么用 fca ,要看他的概念是一个适配器,例如 python PHP 第三方动态语言,与这些语言做配合才需要这个.

3. 负载均衡给后端需要有项目,首先要完整性,请求交与后端后都是后端完成

4. 安全性分系统与 nginx 的自身部分安全

5. nginx 与 tomcat 一定要动静分离

 

二、常见的nginx应用架构以及几个故障排除案例

1.nginx+tomcat 常见架构

image.png

 

主要思路:nginx 的反向代理功能静态请求交给 nginx 来完成请求交给后端 slave 完成

有的时候为了架构稳定,还要给后端服务器 nginx 做一个主备的架构,

Ng1 与 ng2,完整的架构就是 ng1 是主架构,另一个是备机,最常见架构就是nginx+tom 他的反向代理动静分离,后端可能是基于 Python 的服务器,它的一个主要思路就是通过 nginx 的反向代理然后动态请求交给后端的 slave1 2。

它的特点就是 nginx 附带功能。当然有时候为了架构的稳定性,说有个 nginx1 的 nginx2,如果没有备机的话,那可能所有的调度都调度不过来了。

2.Nginx+php常见架构

image.png

前端 lvs1 后端是服务

前端是 lvs,后端是 nginx+php,根据业务性质来定的。

这里的第二种架构,它根据业务性质来定,它的后端设计,一般来说架构是不处在一块儿的,他的压力会来自于 php。Lvs的核心模型是基于端口的负载调度。

这块的动态解析,它的一个主要核心部门是在 so 模型是基于思考这么一个附带调度。是基于端口的地方,刚好的这种前面是 lvs ,后面是 php 的网站服务这种结构。

还有两个去做负载均衡调度,后端是 nginx+php 去提供服务。如果实现一个更高稳定性高级架构的话,keepalived 做一个主备,去做一个高可用的一个服务器。

说明:当 nginx 的主要功能不是反应代理的时候就可以在前面用 lvs1,当 nginx 是反向代理时候 就没有必要在加 LVS。

3.如何排除 nginx 故障

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
相关文章
|
3月前
|
缓存 负载均衡 JavaScript
Nginx:高性能Web服务器与反向代理利器
Nginx:高性能Web服务器与反向代理利器
279 110
|
3月前
|
负载均衡 Cloud Native 前端开发
Nginx:高性能的Web服务器与反向代理利器
Nginx:高性能的Web服务器与反向代理利器
207 100
|
3月前
|
缓存 负载均衡 前端开发
Nginx:高性能Web服务器的核心力量
Nginx:高性能Web服务器的核心力量
225 100
|
3月前
|
缓存 负载均衡 前端开发
Nginx:高性能的Web服务器与反向代理利器
Nginx:高性能的Web服务器与反向代理利器
252 99
|
3月前
|
负载均衡 前端开发 安全
Nginx:高性能的Web服务器与反向代理利器
Nginx:高性能的Web服务器与反向代理利器
231 98
|
3月前
|
缓存 负载均衡 前端开发
Nginx:高性能Web服务器的核心引擎
Nginx:高性能Web服务器的核心引擎
231 99
|
3月前
|
缓存 负载均衡 前端开发
Nginx:高性能Web服务器的核心引擎
Nginx:高性能Web服务器的核心引擎
165 47
|
2月前
|
Ubuntu 安全 应用服务中间件
详细指南:配置Nginx服务器在Ubuntu平台上
以上步骤涵盖了基本流程:从软件包管理器获取 Ngnix, 设置系统服务, 调整UFW规则, 创建并激活服务器块(也称作虚拟主机), 并进行了初步优化与加固措施。这些操作都是建立在命令行界面上,并假设用户具有必要权限(通常是root用户)来执行这些命令。每个操作都有其特定原因:例如,设置开机启动确保了即使重启后也能自动运行 Ngnix;而编辑server block则定义了如何处理进入特定域名请求等等。
257 18
|
2月前
|
Ubuntu 安全 应用服务中间件
详细指南:配置Nginx服务器在Ubuntu平台上
以上步骤涵盖了基本流程:从软件包管理器获取 Ngnix, 设置系统服务, 调整UFW规则, 创建并激活服务器块(也称作虚拟主机), 并进行了初步优化与加固措施。这些操作都是建立在命令行界面上,并假设用户具有必要权限(通常是root用户)来执行这些命令。每个操作都有其特定原因:例如,设置开机启动确保了即使重启后也能自动运行 Ngnix;而编辑server block则定义了如何处理进入特定域名请求等等。
322 17
|
2月前
|
域名解析 存储 缓存
阿里云服务器带宽怎么选?巧用负载均衡节省带宽费用技巧与注意事项参考
在选购阿里云服务器的过程中,设定合适的云服务器带宽是必不可少的一步。为了确保云服务器带宽的稳定性,用户通常会倾向于选择固定带宽,比如1Mbps、3Mbps、10Mbps或是20Mbps等规格。不过,在挑选云服务器带宽的过程中,众多用户常常会陷入一个两难的境地:怎样做才能在确保云服务器稳定运行的同时,又能够合理控制成本支出呢?本文将为大家介绍一种借助阿里云负载均衡产品来节省带宽费用的方法,以供参考借鉴。

热门文章

最新文章