常用知识点
- 吞吐量(TPS):系统在单位时间内处理请求的数量。
- QPS:每秒查询率
- 并发数:系统可以同时承载的正常使用系统功能的用户的数量。
- RPS:每秒能处理的请求数目
- 响应时间(RT):系统对请求作出响应的时间。
nginx常用的应用场景
- 静态资源网站服务
- 反向代理服务
- 缓存加速
- 负载均衡
- api服务
nginx与Apache
Apache:低效,一般一个进程同一时间只会处理一个连接一个请求。处理完此请求才会处理下一个
nginx:一般可以处理上万,上班百万,甚至上千万的的并发连接
nginx 优点
- 高并发,高性能,一般其他服务都是随着并发增加,性能急剧下降
- 32核64g内存可以轻松达到数千万的并发连接
- 处理静态资源请求可以达到百万RPS
- 可扩展性好
- 取决nginx模块化设计,生态圈丰富
- 高可靠
- 可以在服务器上不间断的运行数年
- 热部署
- 不停止服务的情况下升级nginx
- BSD许可证,开源的
nginx组成
- Nginx:二进制可执行文件
- 官方模块
- 自主编译的第三方模块
- Nginx.conf:配置文件
- access.log:访问日志
- error.log:错误日志
nginx版本选择
- nginx免费开源版:没有太多的业务需求,此版本就够用
- 商业版NginxPlus
- 阿里巴巴Tengine
- Tengine是由淘宝网发起的Web服务器项目。它在Nginx的基础上,针对大访问量网站的需求,添加了很多高级功能和特性。Tengine的性能和稳定性已经在大型的网站如淘宝网,天猫商城等得到了很好的检验。它的最终目标是打造一个高效、稳定、安全、易用的Web平台。
- OpenResty免费开源版本 开发防火墙、api等更适合
- OpenResty 是一个强大的 Web 应用服务器,Web 开发人员可以使用 Lua 脚本语言调动 Nginx 支持的各种 C 以及 Lua 模块,更主要的是在性能方面,OpenResty可以 快速构造出足以胜任 10K 以上并发连接响应的超高性能 Web 应用系统。
- OpenResty商业版本
nginx开源版本
Nginx官网提供了三个类型的版本
- Mainline version:Mainline 是 Nginx 目前主力在做的版本,可以说是开发版 ,单号版本例如上图中的1.19.x
- Stable version:最新稳定版,生产环境上建议使用的版本,小于Mainline version版本号的双数版本
- Legacy versions:遗留的老版本的稳定版