什么是 Nginx

Nginx(engine x)是一个高性能的 HTTP 和反向代理 web 服务器,同时也提供 IMAP/POP3/SMTP 服务。但是它的 主要功能是反向代理 ,通过配置文件可以实现集群和负载均衡,可以实现热加载

还可以实现静态资源虚拟化,将图片、css 等静态资源进行虚拟化,就可以通过浏览器访问到资源了

常见的服务器

● MS IIS:asp.net
● Weblogic、Jboss:传统行业 ERP/物流/电信/金融
● Tomcat、Jetty:J2EE 等 JAVA 项目
● Apache、Nginx:静态服务、反向代理
● Netty:高性能服务器编码
比如可以开发一个聊天室
netcraft 网站,提供了一些对比图,可以看到各个服务器的时长占有率,如下图所示
image-20210404150340567.cb2befb9

什么是正向代理?

客户端请求目标服务器之间的一个代理服务器,请求会先经过代理服务器,然后再转发请求到目标服务器,获得内容后最后响应给客户端

比如:在家里访问慕课网,我们的请求实际上会先经过你的移动运营商才会到达慕课网服务器,中间经历了中转

再比如:公司的网络环境下,有些网管会屏蔽百度下载,你发起的请求会先经过代理服务器,它可以控制或则监控你的一些行为的
image-20210404151645228.30684ef3

什么是反向代理?

用户请求目标服务器,由代理服务器决定访问哪个 IP 。

注意区别:

● 正向代理:代理服务器只是转发用户的请求到用户想要访问的资源
● 反向代理:代理服务器决定返回哪个服务器的资源给用户
image-20210404152554826.5b0a1bc3
上述中的域名,在 Nginx 中是用虚拟主机实现的