「一」nginx介绍
应用场景
- 静态资源(js、css、图片 )
- 反向代理
- 缓存加速(动态资源),比如社区活跃度排名
- 负载均衡(动态扩容、容灾)
- API服务
一个请求先经过nginx,再到应用服务器,访问数据库/redis提供基本数据,应用服务要求开发效率高,运行效率就很低,qps、tps、并发受限,所以需要把很多的应用服务组成一个集群,向用户提供高可用性,需要nginx具有反向代理功能
nginx为什么会出现?
- 互联网数据量快速增常
- (摩尔定律)性能提升
- 地效apache
cpu开始向多核cpu发展,当你从8核的cpu升到16核cpu时,你的性能并不能有一倍提升,操作系统和软件(apache)没有做好“多核架构准备”,apache一个连接对应一个进程,一个进程同一时间只能服务于一个连接,当需要面临几百万的连接时,apache没办法开几百个连接,进程间切换的成本太高,nginx正是为了这种场景而生
优点
- 高并发,高性能(可以轻松达到数千万的并发连接)
- 扩展性好(模块化设计,丰富生态圈提供了丰富的模块)
- 高可靠性(可以持续不间断的运行数年)
- 热部署(可以在不停止nginx的情况下升级)
- BSD许可证(开源免费)
组成
- 二进制可执行文件(由各模块源码编译出的一个文件)
- 配置文件
- 日志(access.log\error.log)