Nginx简介

Nginx简介
1.什么是nginx
Nginx(“engine x”)是一个高性能的HTTP和反向代理服务器,特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好。Nginx专为性能优化而开发,性能是其最重要的考量,实现上非常注重效率,能经受高负载的考验,有报告表明能支持高达 50,000个并发连接数。
2.反向代理
(1)正向代理
Nginx不仅可以做反向代理,实现负载均衡。还能用作正向代理来进行上网等功能。正向代理:如果把局域网外的Intemet想象成一个巨大的资源库,则局域网中的客户端要访问Internet,则需要通过代理服务器来访问,这种代理服务就称为正向代理。
内网电脑没法直接上网,借助代理服务器访问外网,外网看不到真实客户端。
(2)反向代理
反向代理,其实客户端对代理是无感知的,因为客户端不需要任何配置就可以访问,我们只需要将请求发送到反向代理服务器,由反向代理服务器去选择目标服务器获取数据后,在返回给客户端,此时反向代理服务器和目标服务器对外就是一个服务器,暴露的是代理服务器地址,隐藏了真实服务器IP地址。
简单说:用户只管访问代理服务器,完全不知道背后还有真正的业务服务器。代理帮你转发请求、拿数据再回传给你,真实服务器地址被藏起来了。
(3)正向反向代理区别
用通俗的话+核心区别帮你分清,好记好用:
一、一句话总结
- 正向代理:替客户端干活,隐藏用户用户→代理→外网服务器,服务器不知道真正访问的是谁。例:翻墙、局域网统一上网。
- 反向代理:替服务器干活,隐藏后端服务用户→代理→真实业务服务器,用户不知道后端真实地址。例:网站、项目部署用的Nginx反向代理。
二、核心对比
- 访问目标正向:访问外网资源反向:访问内部业务服务
- 隐藏对象正向:隐藏客户端IP反向:隐藏服务端IP
- 配置方正向:客户端要指定代理地址反向:服务端配置,客户端无感知
- 典型用途正向:内网上网、网络加速、翻墙反向:负载均衡、动静分离、隐藏后端服务、网站分发
3.负载均衡
单个服务器解决不了,我们增加服务器的数量,然后将请求分发到各个服务器上,将原先请求集中到单个服务器上的情况改为将请求分发到多个服务器上,将负载分发到不同的服务器,也就是我们所说的负载均衡
例如
不一定非要多买物理服务器,分几种情况,结合你的进销存讲直白点:
- 测试/小流量自用完全不用加机器。你单台服务器就能跑,暂时不用负载均衡。
- 一台机器性能富余(最省钱方案)不用新购服务器。一台服务器上启动多个项目实例(比如同一套进销存开2~3个端口运行),Nginx把请求分给这些实例,也算负载均衡,只用1台机器。
- 真正用户多、压力大这时才需要多台独立服务器,分摊压力,防止一台崩掉。
总结:初期自己用/小用户量 → 不用加服务器后期访问变多、卡顿 → 先一台机器多开实例,还扛不住再添新服务器。
4.动静分离
用大白话讲,再结合部署场景说明:
一、简单解释
把网站资源分成静态和动态两类,分开交给不同服务器处理,就是动静分离。
- 静态资源:不变/很少变的文件,比如图片、CSS、JS、HTML、字体、视频
- 动态资源:需要Java代码实时计算、查数据库的内容,比如进销存数据、博客文章接口、用户登录
二、工作流程(以Nginx+Tomcat为例)
- 用户发请求,先到 Nginx
- 若是图片、样式等静态文件 → Nginx 直接返回,不用走Java服务
- 若是查数据、提交表单这类动态请求 → Nginx 转发给 Tomcat/SpringBoot 处理
三、为什么要这么做
- 提速:Nginx 处理静态文件速度远快于Java服务
- 减压:Java服务只专注处理业务逻辑,压力变小
- 易维护:静态资源、动态代码可以分开部署、单独扩容
为了加快网站的解析速度,可以把动态页面和静态页面由不同的服务器来解析,加快解析速度。降低原来单个服务器的压力。
支持与分享
如果这篇文章对你有帮助,欢迎分享给更多人或打赏支持!














