【Linux】Nignx及负载均衡&动静分离

 

一、Nginx简介

 1.1 什么是nginx?

Nginx(发音同"engine x")是一个高性能的反向代理和 Web 服务器软件,最初是由俄罗斯人 Igor Sysoev 开发的。Nginx 的第一个版本发布于 2004 年,其源代码基于双条款 BSD 许可证发布,因其系统资源消耗低、运行稳定且具有高性能的并发处理能力等特性,Nginx 在互联网企业中得到广泛应用。

Nginx 是互联网上最受欢迎的开源 Web 服务器之一,它不仅提供了用于开发和交付的一整套应用技术,还是应用交付领域的开源领导者。Netcraft 公司 2019 年 7 月的统计数据表明,Nginx 为全球最繁忙网站中的 25.42% 提供了服务或代理,进一步扩大了其在主机域名领域的占有量,新增 5220 万个站点,总数达 4.4 亿个,市场占有率已经超过 Apache 4.89%。

得益于近几年云计算和微服务的快速发展,Nginx 因在其中发挥了自身优势而得到广泛应用,且有望在未来占有更多的市场份额。

2019 年 3 月,著名硬件负载均衡厂商 F5 宣布收购 Nginx,Nginx 成为 F5 的一部分。F5 表示,将加强对开源和 Nginx 应用平台的投资,致力于 Nginx 开源技术、开发人员和社区的发展,更大的投资将为开放源码计划注入新的活力,会主办更多的开放源码活动,并产生更多的开放源码内容。

百度解释:Nginx是一款轻量级Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东新浪网易腾讯淘宝等。

总结:Nginx(engine x)是一个高性能的HTTP(解决C10k的问题)和反向代理服务器,能够实现动静分离技术(动态请求和静态请求),也是一个IMAP/POP3/SMTP服务器,

### Nginx 负载均衡的配置与原理 #### 什么是负载均衡负载均衡是一种技术,用于将网络请求均匀地分配到多个服务器上,从而提升系统的响应速度和可用性[^1]。它不仅能够优化资源利用率,还能增强系统的稳定性、可扩展性和性能[^4]。 #### Nginx 的作用 Nginx 可以作为一个高效的反向代理和负载均衡器来使用。当用户发起请求时,这些请求会首先到达 Nginx,随后由 Nginx 根据预先设定的策略将请求转发给后端的 Tomcat 或其他应用服务器[^3]。 #### Nginx 负载均衡的工作原理 Nginx 支持多种负载均衡算法,常见的有轮询(Round Robin)、加权轮询(Weighted Round Robin)、IP 哈希(IP Hash)以及最少连接数(Least Connections)。以下是每种方法的具体描述: - **轮询(默认方式)**:按照顺序依次将请求发送到不同的服务器。 - **加权轮询**:允许为不同服务器设置权重值,权重越高的服务器接收到更多请求。 - **IP 哈希**:基于客户端 IP 地址计算哈希值,并始终将其映射到同一台服务器。 - **最少连接数**:优先选择当前活跃连接数较少的服务器处理新请求。 #### 配置示例 下面是一个简单的 Nginx 负载均衡配置文件示例,展示了如何定义上游服务器池并指定负载均衡策略: ```nginx http { upstream backend { server 192.168.1.10:8080 weight=5; # 设置较高的权重 server 192.168.1.11:8080; server 192.168.1.12:8080 backup; # 备份服务器 } server { listen 80; location / { proxy_pass http://backend; # 将请求转发至上游服务器池 proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } } } ``` 上述配置中,`upstream` 定义了一个名为 `backend` 的服务器组,其中包含了三个实际提供服务的节点。通过修改参数如 `weight` 和 `backup`,可以灵活控制流量分布[^2]。 #### 常见错误及其解决办法 如果在配置完成后遇到类似 `[warn] conflicting servername "192.168.1.10" on 0.0.0.0:80, ignored` 这样的警告信息,则表明存在重复绑定地址的情况。此时需检查是否有多个虚拟主机监听相同的 IP 和端口组合。 --- ###
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值