Nginx是一款轻量级的Web服务器、反向代理服务器以及电子邮件(IMAP/POP3)代理服务器。
首先我们先来了解一下什么是反向代理。
- 什么是反向代理
- 正向代理
- 向目标服务器隐藏真正的客户端。
客户端发送请求给代理服务器,接着代理服务器再把这个请求转发给目标服务器。在这个过程中,目标服务器完全不知道是哪个客户端向它发起的请求,只知道有一个服务器访问了它,而这个隐藏客户端由代理服务器向目标服务器发起请求的过程就是正向代理。
- 向目标服务器隐藏真正的客户端。
- 反向代理
- 向客户端隐藏真正的目标服务器。
客户端向某个服务器发起请求,以为它就是请求的目标服务器,但其实这个服务器只是一个代理服务器,它会接收客户端的请求,接着再将这条请求转发给真正要访问的服务器,而这个隐藏目标服务器的过程就是反向代理。
- 向客户端隐藏真正的目标服务器。
- 区别总结
- 发挥正向代理的服务器代理的是客户端,它向目标服务器隐藏真正的客户端
- 发挥反向代理的服务器代理的是目标服务器,它向客户端隐藏真正的目标服务器
- 正向代理
- Nginx的作用
- 作为Http服务器
- 可以将静态文件资源存放到服务器上,当客户端请求时可直接展示给客户端
- 作为反向代理的服务器
- nginx转发用户的请求,对客户端隐藏真正要访问的目标服务器,只暴露出自己让客户端去访问,然后再把请求转发给真正的目标服务器。
- 负载均衡
- 什么是负载均衡?
- 所谓负载均衡,就是大量的请求会被均匀的分配给多台服务器去处理,而不是都分配给一台从而导致服务器的负荷过于庞大。
- 负载均衡的作用
- 如果客户的访问量过于庞大,只是一台服务器或许无法承担这么多的请求,但若有多台服务器可以一起分担,那么就可以让服务器们减轻不少的负担。
- 如果有一台服务器出现故障,也不会影响系统的正常运作,还有其它的服务器可以接替这台故障的服务器保证系统的运作。
- Nginx与负载均衡
- Nginx会把一批被某个location匹配到的请求转发给设置的服务器组们,让它们共同去处理这些数量庞大的请求从而实现负载均衡的效果。
- 什么是负载均衡?
- 虚拟主机
- 什么是虚拟主机?
- 假设有两个映射到同一个IP地址的域名却可以打开两个不同的网站,就好像访问了两个互不关联的服务器,而产生这种效果的这两个域名就被称之为虚拟主机。
- Nginx与虚拟主机
- 在Nginx的配置文件中就可以配置虚拟主机,它可以将捕获到的请求转发到同一个服务器下不同的应用上,让明明是在同一台服务器下的应用就好像是在两台服务器上一样。
- 虚拟主机的应用场景
- 节省服务器的成本,让请求访问不同应用的请求可以在一台服务器上被处理。
- 什么是虚拟主机?
- FastCGI
- nginx可以将某些由于语言无法被处理的请求转发给专门的语言或者框架去处理,比如PHP、Python等。
- 作为Http服务器



