前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >nginx反向代理与负载均衡

nginx反向代理与负载均衡

作者头像
兰舟千帆
发布于 2022-08-05 06:29:16
发布于 2022-08-05 06:29:16
64800
代码可运行
举报
运行总次数:0
代码可运行

nginx反向代理与负载均衡

nginx 反向代理

在介绍反向代理之前,先来说明一下什么叫做正向代理。

正向代理服务器是一个位于客户端和原始服务器(origin server)之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端。

如果我们无法访问到谷歌网站的时候,就可以设置一个代理,然后我们去访问代理服务器,代理会向谷歌发送请求,然后再将数据返回给我们。这样的代理就是正向代理。

那么什么是反向代理呢?

反向代理服务器位于用户与目标服务器之间,但是对于用户而言,反向代理服务器就相当于目标服务器,即用户直接访问反向代理服务器就可以获得目标服务器的资源,反向代理服务器负责将请求转发给目标服务器。用户不需要知道目标服务器的地址,也无须在用户端作任何设定,对于用户来说,访问反向代理服务器是完全无感知的。

那么如何在nginx里面设置代理呢?其实我们可以这样去做,在配置文件中进行修改。主要是下面两个部分。

可见,我们监听的是82端口,但是我们设置了一个代理,当我们访问外网ip+82其实就是相当于访问到外网ip+8080。这是一台服务器,如果有多台服务器的话,我们设置代理的话也是这个原理。

当设置玩这个配置文件的反向代理之后,保存后,然后我们可以去检查一次配置是否正确,然后再去重新加载。 检查配置是否正确

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
nginx -t

重新加载

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
nginx -s reload

负载均衡

其实之前在微服务的时候我们也讲过负载均衡

早期的网站流量和业务功能都比较简单,单台服务器就可以满足基本需求,但是随着互联网的发展,业务流量越来越大并且业务逻辑也越来越复杂,单台服务器的性能及单点故障问题就凸显出来了,因此需要多台服务器组成应用集群,进行性能的水平扩展以及避免单点故障出现。

其实按照这个说明来说的话,其实负载均衡就是对服务压力的一个分担,在微服务里面我们一定会用到负载均衡,一个服务应用的资源部署在多台服务器,这样在访问应用资源的时候就可以按照相应的负载均衡的规则去访问相应的服务器,这样其实减少了单台服务器的压力。

nginx也可以做这个事情,它的负载均衡是基于反向代理。

那么如何在nginx里面去配置负载均衡,我们还是去配置文件里面进行修改。很简单,我们只需要按照一定的规则格式去写就行。

在单台服务器我们去模拟这个过程, 将同样的jar包拷贝,然后两个jar包分别运行在不同的端口。这样其实就可以模拟两台服务器上同样服务资源。当然这样两者一定是端口不同的。然后我们就可以模拟这个负载均衡策略了。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#upstream指令可以定义一组服务器
upstream targetserver{	
    server 192.168.200.201:8080;
    server 192.168.200.201:8081;
}

server {
    listen       8080;
    server_name  localhost;
    location / {
        proxy_pass http://targetserver;
    }
}

划红线的部分一定是需要名字一致的。

如果多台服务器的话,上面的server部分是直接可以去改的, 默认的负载均衡策略是轮询,也就是访问两个服务的概率次数一样,这个次数概率一定是在次数很多的时候,才能每个趋于同等访问次数。

当然了自己也可以去指定策略

nginx给我们还提供了一些负载均衡策略

在配置文件设置参数就可以,比如权重的配置

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#upstream指令可以定义一组服务器
upstream targetserver{	
    server 192.168.200.201:8080 weight=10;
    server 192.168.200.201:8081 weight=5;
}

当然这个权重的体现就是在大量的数据访问的时候,才会基本去趋于它的设置特性。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-08-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
nginx--❤️图解及代码实现正向代理、反向代理、负载均衡❤️
在实现nginx正向代理之前,先说明一下,现在的网站基本上都是https,因此要实现nginx正向代理转发请求,除了要配置转发http80端口的请求,还有配置https443端口的请求~
用户4396583
2024/07/25
1.4K0
一篇带你搞懂Nginx命令、配置、反向代理、负载均衡
Nginx是一款轻量级的Web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好,中国大陆使用nginx的网站有:百度、京东、新浪、网易、腾讯、淘宝等。
陶然同学
2023/02/26
3.1K0
一篇带你搞懂Nginx命令、配置、反向代理、负载均衡
nginx 能做的事
反向代理应该是 Nginx 做的最多的一件事了,什么是反向代理呢,以下是百度百科的说法:反向代理(Reverse Proxy)方式是指以代理服务器来接受 internet上 的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给 internet 上请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务器。简单来说就是真实的服务器不能直接被外部网络访问,所以需要一台代理服务器,而代理服务器能被外部网络访问的同时又跟真实服务器在同一个网络环境,当然也可能是同一台服务器,端口不同而已。下面贴上一段简单的实现反向代理的代码
用户5807183
2019/08/12
4780
五分钟看懂 Nginx 负载均衡
对于电商平台而言,随着业务的不断发展壮大,网站访问量和数据量也随之急剧增长,该情况的产生给服务器带来了一定的负担。从用户体验层面而言,由于服务器端数据处理带来的时延,往往导致页面的响应速度过慢、操作流畅性受阻等问题。这在某种程度上甚至会潜在影响平台的成交量。提供高效率,高质量的服务成为亟待解决的问题。负载均衡策略的出现和发展成为缓解上述问题的有效途径。本文将带你了解基于 Nginx 实现的负载均衡。
陈大鱼头
2020/07/17
1.5K0
五分钟看懂 Nginx 负载均衡
nginx使用学习之正向代理、反向代理、负载均衡(配置实例详解)
Nginx 不仅可以做反向代理,实现负载均衡。还能用作正向代理来进行上网等功能。正向代理:如果把局域网外的 Internet 想象成一个巨大的资源库,则局域网中的客户端要访 问 Internet,则需要通过代理服务器来访问,这种代理服务就称为正向代理。
IT大咖说
2019/12/17
5.3K0
nginx使用学习之正向代理、反向代理、负载均衡(配置实例详解)
Nginx负载均衡和反向代理
正向代理隐藏真实客户端,服务端不知道实际发起请求的客户端.,proxy和client同属一个LAN,对server透明;
yaohong
2019/09/11
8730
Nginx负载均衡和反向代理
反向代理、负载均衡!优秀的 Nginx 是如何做到的?
想必大家一定听说过 Nginx,若没听说过它,那么一定听过它的"同行"Apache 吧!
程序员白楠楠
2020/12/24
4580
【Nginx】静态资源部署、反向代理、负载均衡
注:http块中可配置多个Service块,每个Service块可配置多个location块。
.29.
2023/10/17
1.7K0
【Nginx】静态资源部署、反向代理、负载均衡
正向代理、负载均衡、反向代理
假设我们需要使用自己的笔记本(A)访问国外的站点(B),由于网络限制,我们无法访问国外的站点.但是此时我们有一台服务器(C)跳出了网络限制可以访问国外站点,那么我们可以通过正向代理技术,让我们笔记本访问服务器C,通过服务器C间接的访问国外站点B.这个过程就称之为正向代理.
郑小超.
2018/12/06
6050
Nginx负载均衡配置与使用
现在Nginx到处都可以见到,经常会看到宕机后的网页会显示nginx的字样,这也说明Nginx由于高性能、使用配置简、开源单这些特点被越来越多的用户所接受,所使用。
Java帮帮
2018/12/24
8070
一篇文章带你了解轻量级Web服务器——Nginx简单入门
在本篇中我们会简单介绍Nginx的特点,安装,相关指令使用以及配置信息和具体应用等
秋落雨微凉
2022/11/12
7560
一篇文章带你了解轻量级Web服务器——Nginx简单入门
Nginx的反向代理负载均衡
正向代理:我直接访问google被墙了,现在有一台服务器(比如美国的服务器)能访问谷歌,我通过这台服务器代理我去访问google,再把数据返回给我,这就是正向代理。
用户6055494
2019/10/21
5010
Nginx的反向代理负载均衡
即时通讯新手入门:一文读懂什么是Nginx?它能否实现IM的负载均衡?
本文引用了“蔷薇Nina”的“Nginx 相关介绍(Nginx是什么?能干嘛?)”一文部分内容,感谢作者的无私分享。 1、引言 Nginx(及其衍生产品)是目前被大量使用的服务端反向代理和负载均衡方案
JackJiang
2019/06/14
1.1K0
即时通讯新手入门:一文读懂什么是Nginx?它能否实现IM的负载均衡?
简单说说什么是正向代理和反向代理,以及他们的区别|nginx反向代理配置教程
一般的访问流程是客户端直接向目标服务器发送请求并获取内容,比如大家通过浏览器,输入对应的网址,baidu.com、qq.com、taobao.com、zygxsq.cn/daohang 等,就可以直接进入对方的网站。
小小鱼儿小小林
2024/05/25
3070
如何使用Nginx 部署项目?什么是反向代理?
初识Nginx + Linux 中安装Nginx_一切总会归于平淡的博客-CSDN博客_nginx编译安装
叫我阿杰好了
2022/11/07
6120
如何使用Nginx 部署项目?什么是反向代理?
nginx的配置、虚拟主机、负载均衡和反向代理(2)
上一篇中,我仔细了学习了一下nginx的各个模块的详细讲解,基本对它的一个整体有了一个把握。这一篇就来几个实际的例子来看下虚拟主机、负债均衡和反向代理,是如何做到的。
bear_fish
2018/09/19
1.1K0
nginx反向代理和负载均衡算法介绍
1 全局块:配置影响nginx全局的指令。一般有运行nginx服务器的用户组,nginx进程pid存放路径,日志存放路径,配置文件引入,允许生成worker process数等。
地球流浪猫
2019/12/20
7620
Nginx专题(1):Nginx之反向代理及配置
摘要:本文从Nginx的概念出发,分别从反向代理的概念、优势、配置代码3个方面介绍了Nginx的特性之一反向代理。
宜信技术学院
2019/11/06
2K0
05 . Nginx的反向代理与负载均衡
Nginx负载均衡 客户端的访问都被代理到后端的一台服务器上,最终会出现性能瓶颈,从而导致效率降低,前端用户的访问速度急速下降,要解决这个问题就需要添加多台httpd,同时承受大量并发连接,每台服务器接收的并发连接降低了,效率就高了,nginx作为代理,在收到客户端的请求时,会分发到不同的后端服务器,但是nginx收到请求之后会分配到那个服务器之上,有什么规律和需求,就需要用调度算法来分配. upstream语法 # upstream的定义必须在server{..}外定义 upstream <组名
iginkgo18
2020/09/27
8940
Nginx正向代理与反向代理 负载均衡
Nginx #1 什么是正向代理 正向代理类似一个跳板机,代理访问外部资源 举个例子: 我是一个用户,我访问不了某网站(用户知道该网站的服务器地址),但是我能访问一个代理服务器,这个代理服务器
Autooooooo
2020/11/09
8900
Nginx正向代理与反向代理 负载均衡
推荐阅读
相关推荐
nginx--❤️图解及代码实现正向代理、反向代理、负载均衡❤️
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验