Nginx基本介绍+跨域解决方案

Nginx是一款高性能HTTP服务器和反向代理,提供反向代理、负载均衡和HTTP服务器功能。反向代理隐藏了真实服务器,负载均衡则通过轮询、最少连接或源IP散列等算法分发请求,提升服务性能和可靠性。Nginx还能够处理静态资源,实现动静分离。此外,通过配置Nginx,可以解决跨域问题,确保前端开发的顺利进行。
摘要由CSDN通过智能技术生成

作者:鲸腾 FE 来源: 恒生LIGHT云社区

Nginx简介

Nginx 是一款由俄罗斯的程序设计师 Igor Sysoev 所开发的高性能的 http 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,它的主要功能有:

  • 反向代理
  • 负载均衡
  • HTTP 服务器

目前大部分运行的 Nginx 服务器都在使用其负载均衡的功能作为服务集群的系统架构。

功能说明

在上文中介绍了三种 Nginx 的主要功能,下面来讲讲 具体每个功能的作用。

一、反向代理(Reverse Proxy)

介绍反向代理前,我们先理解下正向代理的概念。

打个比方,你准备去看周杰伦的巡演,但是发现官方渠道的票已经卖完了,所以你只好托你神通广大的朋友A去内部购票,你如愿以偿地得到了这张门票。在这个过程中,朋友A就起到了一个正向代理的作用,即代理了客户端(你)去向服务端(售票方)发请求,但 服务端(售票方)并不知道 源头是谁发起的请求,只知道是代理服务(朋友A)向自己请求的。

由这个例子,我们再去理解下反向代理,比如我们经常接到10086或者10000的电话,但是每次打过来的人都不一样,这是因为10086是中国移动的总机号,分机打给用户的时候,都是通过总机代理显示的号码,这个时候 客户端(你)无法知道 是谁发起的请求,只知道是代理服务(总机)向自己请求的。

而官方的解释说明就是,反向代理方式是指以代理服务器来接受 Internet 上 的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给 Internet 上请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务器。

下面贴一段简单实现反向代理的 Nginx 配置代码:

server {  
    listen       80;                                                   
    server_name  localhost;                                         
    client_max_body_size 1024M;
  
    location / {
        proxy_pass http://localhost:8080;
        proxy_set_header Host $host:$server_port;
    }
}

其中的 http://localhost:8080 就是反代理的目标服务端,80是 Nginx 暴露给客户端访问的端口。

二、负载均衡(Load Balance**)**

负载均衡,顾名思义,就是将服务负载均衡地分摊到多个服务器单元上执行,来提高网站、应用等服务的性能和可靠性。 下面我们来对比一下两个系统拓扑,首先是未设计负载均衡的拓扑:

1.png

下面是设计了负载均衡的拓扑:

未命名绘图2.png

从图二可以看到,用户访问负载均衡器,再由负载均衡器将请求转发给后端服务器,在这种情况下,服务C故障后,用户访问负载会分配到服务A和服务B中,避免了系统崩溃,如果这种故障出现在图一中,该系统一定会会直接崩溃。

负载均衡算法

负载均衡算法决定了后端的哪些健康服务器会被选中。几个常用的算法:

  • Round Robin(轮询):为第一个请求选择列表中的第一个服务器,然后按顺序向下移动列表直到结尾,然后循环。
  • Least Connections(最小连接):先选择连接数最少的服务器,在普遍会话较长的情况下推荐使用。
  • Source:根据请求源的 IP 的散列(hash)来选择要转发的服务器。这种方式可以一定程度上保证特定用户能连接到相
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值