第一种作用反向代理

       反向代理的实现及配置

    实现的效果1  在我们电脑端输入一个域名或者ip地址访问我们指定服务器,这个域名或者ip地址不直接指向我们的服务器

   假如我们指定域名位 www.myName.com 实际访问地址是172.25.1.101:8080

 实现方法: 第一需要了解我们本地电脑解析域名的步骤来修改本地文件将172.25.1.101和www.myName.com做解析对应

     nginx 代理 实现  不了解nginx配置文件可以看看我的上一篇nginx.conf略解

      核心配置如下

 

server{
              lister               80;
             server_name   172.25.1.101;
            location / {
                        proxy_pass  http://172.25.1.101:8080;
                         }
                   }

 当然ip地址是我们nginx的ip地址 server_name 也是它的ip地址,代理地址(proxy_pass)可以是其他地址。

实现效果2: 使用 nginx 反向代理,根据访问的路径跳转到不同端口的服务中 

比如:

访问路劲是172.25.1.101/a  访问 172.25.1.101:8080/

访问路劲是172.25.1.101/b  访问 172.25.1.101:8080/

实现核心配置

server{
              lister               80;
             server_name   172.25.1.101;
            location ~ /a/ {
                        proxy_pass  http://172.25.1.101:8080;
                         }
            location ~ /b/ {
                        proxy_pass  http://172.25.1.101:8090;
                         }
                   }

nginx 作用二 负载均衡

实现浏览器访问平均分配到两台服务器上的效果及对应配置

比如:浏览器访问http://172.25.1.101/a/hello.html 平均分配到172.25.1.101:8080和172.25.1.101:8090这两台服务器上

nginx核心配置

在http块中加入 其中myserver 是自己起的负载名 

upstream myserver {
    server  172.25.1.101:8080;
    server  172.25.1.101:8090;
}
server {
               listen 80;
   server_name 172.25.1.101;
location / {
         proxy_pass http://myserver;
}
}

注意点  myserver 和代理路劲中的http://myserver 是相同的

nginx 负载策略

 

第一种 轮询(默认)

 

每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器 down 掉,能自动剔除。

 

第二种 weight

 

weight 代表权重默认为 1,权重越高被分配的客户端越多

用法举例:

upstream myserver {
    server  172.25.1.101:8080 weight=2;
    server  172.25.1.101:8090 weight=4;
}

第三种 ip_hash

 

每个请求按访问 ip 的 hash 结果分配,这样每个访客固定访问一个后端服务器

用法举例:

upstream myserver {
    ip_hash;
    server  172.25.1.101:8080 ;
    server  172.25.1.101:8090 ;
}

第四种 fair(第三方)

 

按后端服务器的响应时间来分配请求,响应时间短的优先分配

 

用法举例:

upstream myserver {
    server  172.25.1.101:8080 ;
    server  172.25.1.101:8090 ;
    fair;
}

地三种作用 动静分离

动静分离的概念:大概可以理解为 前后端分离的部署

比如:在服务器的建立一个文件夹存放页面和图片  /data/html 存放页面 和  /data/image存放图片 通过172.25.1.101访问这些资源

核心配置

server{
              lister               80;
             server_name   172.25.1.101;
            location /html/ {
                        root /data/;
                    //其他设置性的参数自己百度添加 例如 autoindex属性等
                         }
            location  /image/ {
                      root /data/;
                 //其他设置性的参数自己百度添加 例如 autoindex属性等
                         }
                   }

通过 http://172.25.1.101/html/xxx.html  http://172.25.1.101/image/xxx.png访问

上面其他配置的访问类似这个