文章摘要: Nginx是一款轻量级的Web服务器、反向代理服务器,适合部署前端。
- 文章专注 Debian linux 12 操作系统上的配置。
简介
简要说明
- Nginx是一款轻量级、开源的Web服务器,由于其高性能、稳定性、丰富的功能以及低资源消耗,被广泛用于Web服务器的部署。
主要功能
- HTTP服务器:nginx可以作为一个静态资源服务器,处理HTTP请求,支持FastCGI、SSL、TLS等协议。
- 反向代理:nginx可以将客户端请求转发到其他服务器,实现负载均衡和缓存等功能。
- 负载均衡:nginx可以根据不同的负载均衡算法将请求分发到多个后端服务器。
- 缓存:nginx可以缓存静态文件和常用动态内容,减少后端服务器的压力。
- 安全性:nginx提供了一系列安全特性,如SSL终端、IP黑白名单、请求限制等。
- 高并发处理:nginx采用事件驱动的模型,能够处理大量并发连接。
注意事项
- 配置文件:nginx的配置文件是nginx.conf,配置时要确保语法正确,否则可能导致服务启动失败。
- 系统资源:合理配置worker进程数和连接数,以充分利用系统资源。
- 安全性:定期更新nginx及其模块,以修复已知的安全漏洞。
- 兼容性:在升级nginx或修改配置时,要注意与现有应用的兼容性。
适用场景
- 高并发网站:如大型电商、社交媒体等,需要处理大量用户请求。
- 静态资源服务:如图片、视频、CSS/JS文件等,nginx可以有效处理静态文件。
- 反向代理和负载均衡:当后端有多个服务器时,nginx可以作为反向代理进行请求分发。
- API服务:nginx适合作为RESTful API的代理服务器,提供高性能的API服务。
- 微服务架构:在微服务架构中,nginx可以作为服务网关,管理服务之间的通信。
安装与卸载
详细总结:Package-Nginx-安装与卸载
终端命令
详细总结:Package-Nginx-终端命令
配置文件
详细总结:Package-Nginx-配置文件
热门推荐
问题总结
负载均衡的策略
轮询
- 按顺序轮流分配请求。
权重
- 根据服务器性能设置权重,根据权重值进行分配请求。
IP哈希
- 根据用户IP地址进行请求分配,保证同一个用户请求同一个服务器。
JWT登录验证
- 方案一:使ip_hash策略
- 方案二:redis告诉缓冲数据库
最少连接
- 将请求分配给当前连接数最少的服务器。
url_hash
- url
通过fair(第三方)来的
代理转发
注释
- 位置不同:正向代理位于客户端和互联网之间;反向代理位于服务端和互联网之间。
- 目的不同:正向代理主要是为了保护客户端隐私和访问控制;反向代理主要是为了保护服务端安全、负载均衡和缓存。
- 透明性:正向代理对客户端是透明的,客户端知道代理的存在;反向代理对客户端通常是透明的,客户端不知道代理的存在。
正向代理
- 正向代理位于客户端和互联网之间,代表客户端向互联网发送请求。
主要特点
- 隐私保护:隐藏客户端的真实IP地址,保护客户端的隐私。
- 访问控制:可以控制客户端访问互联网的权限,例如禁止访问某些网站。
- 内容缓存:可以缓存常用内容,提高访问速度,减少带宽使用。
- 突破限制:帮助客户端突破网络访问限制,如翻墙。
应用场景
- 个人或企业内部网络访问互联网。
- 绕过网络审查,访问被限制的网站。
- 为安全性考虑,隐藏客户端真实IP。
反向代理
- 反向代理位于服务端和互联网之间,代表服务端接收客户端的请求。
主要特点
- 负载均衡:分发客户端请求到多个后端服务器,提高服务的可用性和扩展性。
- 安全性:保护后端服务器免受直接暴露于互联网,减少安全风险。
- 内容缓存:缓存静态内容,提高响应速度。
- SSL加密和解密:处理HTTPS请求,减轻后端服务器的负担。
应用场景
- 负载均衡,如Nginx、HAProxy。
- 保护内部网络结构,防止直接暴露后端服务器。
- 提供SSL加密服务,简化后端服务器的配置。