一句话总结
Nginx是一种Web服务器,大部分时候我们的应用通过Nginx来实现反代和负载均衡需求的场景
1 什么是Nginx?
- Nginx是常用Web服务器的一种
- Web服务器一般指网站服务器,是可以向发出请求的浏览器提供回应的程序/应用
- 常见的Web服务器有:WebSphere、WebLogic、Apache、Tomcat、Jboss、Nginx等
- 现在使用Nginx作为Web服务器的公司有:新浪、网易、 腾讯等
- Nginx可以实现非常高效的反向代理、负载平衡
2 Nginx主要特性
-
反向代理
-
负载均衡
-
动静分离
3 什么是正向代理和反向代理?
- 正向代理就是一个人发送一个请求直接就到达了目标的服务器
- 反方代理就是请求统一被Nginx接收,nginx反向代理服务器接收到之后,按照一定的规则分发给了后端的业务处理服务器进行处理了
4 为什么要用Nginx?
- 稳定性高:如果有一个服务器宕机,会做一个健康检查,再发送的请求就不会发送到宕机的服务器了。重新将请求提交到其他的节点上,宕机的概率非常小
- 跨平台
- 配置简单
- 高并发连接:处理2-3万并发连接数,官方监测能支持5万并发
- 内存消耗小:开启10个nginx才占150M内存
- 节省宽带:支持GZIP压缩,可以添加浏览器本地缓存
- 异步:异步处理用户请求
- nginx处理静态文件好,耗费内存少
5 为什么Nginx性能这么高(凭兴趣了解)?
因为他的事件处理机制:
- 异步非阻塞事件处理机制
- 运用了epoll模型,提供了一个队列,排队解决
5 Nginx怎么处理请求的?
server { # 第一个Server区块开始,表示一个独立的虚拟主机站点
listen 80; # 提供服务的端口,默认80
server_name localhost; # 提供服务的域名主机名
location / { # 第一个location区块开始
root html; # 站点的根目录,所属项目静态资源的根目录
index index.html index.htm; # 默认的首页文件,多个用空格分开
} # 第一个location区块结果
} # 第一个server区块结果
7 使用反向代理服务器的优点是什么?
- 隐藏源服务器的存在和特征
- 充当互联网云和web服务器之间的中间层
8 Nginx的优缺点?
优点:
- 占内存小,可实现高并发连接,处理响应快
- 可实现http服务器、虚拟主机、方向代理、负载均衡
- Nginx配置简单
- 可以不暴露正式的服务器IP地址
缺点:
- 动态处理差:nginx处理静态文件好,耗费内存少,但是处理动态页面则很鸡肋,现在一般前端用nginx作为反向代理抗住压力,
9 Nginx应用场景?
- http服务器: Nginx是一个http服务可以独立提供http服务。可以做网页静态服务器。
- 虚拟主机: 可以实现在一台服务器虚拟出多个网站,例如个人网站使用的虚拟机。
- 反向代理,负载均衡: 当网站的访问量达到一定程度后,单台服务器不能满足用户的请求时,需要用多台服务器集群可以使用nginx做反向代理。并且多台服务器可以平均分担负载,不会应为某台服务器负载高宕机而某台服务器闲置的情况。
- 配置安全管理: 比如可以使用Nginx搭建API接口网关,对每个接口服务进行拦截。
10 Nginx常用的能力
- 反向代理
- 负载均衡