文章目录


三大应用场景分别为:虚拟多个主机 、反向代理、负载均衡

虚拟多个主机(其实就是虚拟多个工作目录)

本质 : ​​主要操作server这个部分,几个虚拟空间就建立几个server​

端口实现虚拟多个主机

操作:

  • 新建虚拟工作目录空间
  • nginx的三大应用场景_服务器


  • nginx的三大应用场景_nginx_02

nginx的三大应用场景_nignx_03

  • 配置nginx.conf,
server {
listen 8001;
server_name localhost;

location / {
root html8001;
index index.html index.htm;
}
}
server {
listen 8002;
server_name localhost;

location / {
root html8002;
index index.html index.htm;
}
}
  • window下启动nginx
    ​​​start nginx.exe​​​或者​​nginx.exe -s reload​​ 效果:
  • nginx的三大应用场景_nignx_04


  • nginx的三大应用场景_nignx_05


域名实现虚拟多个主机

浏览器输入域名访问信息的原理图

nginx的三大应用场景_服务器_06


由此可见,本地模拟的话上面红色的部分需要我们来操作;

  • 使用switchhost修改本地host
  • nginx的三大应用场景_服务器_07

  • 配置nginx.conf
  • nginx的三大应用场景_nginx_08

  • 准备工作目录
  • nginx的三大应用场景_nginx_09

  • 运行
  • nginx的三大应用场景_nginx_10

  • 效果
  • nginx的三大应用场景_服务器_11

    nginx的三大应用场景_服务器_12

反向代理

反向代理的可以这样理解: 用户在浏览器输入很多个域名,但是这些域名通过本地host或者dns 同时指向了一个 nginx服务器。
这个服务器根据配置文件,让域名转发到不同的服务器上。
看起来好像都是nginx提供的服务,其实,nginx内部是让别的服务器提供服务。
使用很简单,​​​基本就是修改 upstream 和 server 两个部分,server中原来的root替换成 proxy_pass​​。

演示:

  • 在192.168.157.113虚拟机上部署2个tomcat

| tomcat名称 | 端口 | 页面显示 |

|–|–|–|–|

| tomcat1 | 8080 |sohu|

|tomcat2 | 8081 |sina |

nginx的三大应用场景_nginx_13


nginx的三大应用场景_服务器_14

  • 在window上配置本地host目录
  • nginx的三大应用场景_nginx_15

  • 修改nginx.conf配置文件,在http下添加2个 upstrem和server块
  • nginx的三大应用场景_服务器_16

  • 启动nignx
    ​​​start nginx.exe ​​​ 或​​nginx.exe -s reload ​
  • 浏览器输入域名看是否反向代理转发了,效果测试如下:
  • nginx的三大应用场景_服务器_17


  • nginx的三大应用场景_反向代理_18

  • 说明:反向代理成功了!

负载均衡

如果一个服务由多台服务器提供,需要把负载分配到不同的服务器处理,需要负载均衡。

upstream tomcat2 {
server 192.168.25.148:8081;
server 192.168.25.148:8082;
}

默认的负载均衡的策略就是轮询的方式。

可以根据服务器的实际情况调整服务器权重。权重越高分配的请求越多,权重越低,请求越少。默认是都是1

{
server 192.168.25.148:8081;
server 192.168.25.148:8082 weight=2;
}

其他的负载均衡的策略:1.通过IP地址的hash值 做映射。2.通过URL的方式计算出Hash值 。3.随机策略。4.最少并发量