Ngnix 能做什么
高性能的http服务器
支持静态页面服务器, 但是不support java, 这里不深入了, Java基本上是tomcat的世界。
反向代理
首先解释下正向代理:
其实我们平时的科学上网, 同过一个中间的代理服务器,去访问外面的世界, 同时对于外部隐藏了自己的ip地址, 服务端的是无感知的, 他们只能知道被代理服务器连接, 这就叫正向代理。
简单来讲就是客户端对服务端隐藏自己真实地址。
反向代理:
反向代理, 刚好相反, 客户端是无感知的, 相当于1个api gateway,客户端只用访问代理就能访问后面的 服务器, 也就是将服务器向客户端隐藏了自己的真实地址。
负载均衡
这个完全就类似一个减配版api-gateway了, 但是不能实现api-gateway的权限验证功能, 但是我们只需要负载均衡的话, 更加适合。
或者讲, api-gateway是面对UI 项目的, Nigix 是面对客户的。
动静分离
如上图, Ngnix 把静态服务器(web server)和 动态服务器(微服务) 分开了。
当然, web server 也可以使用Ngnix http服务器… 也可以使用nodejs, apache http…等