柚子快报激活码778899分享:对于Nginx的反向代理的理解

http://yzkb.51969.com/

        对于Nginx的反向代理,我的理解是,nginx把前端发送的动态请求由Nginx转发到后端的服务器。但是它可以暂时存储一些数据,从而提高访问速度,并且可以进行负载均衡,还变相的保护了后端服务器的地址安全。

nginx 反向代理的配置方式:

server{

listen 80;

server_name localhost;

location /api/{

proxy_pass http://localhost:8080/admin/; #反向代理

}

}

proxy_pass:该指令是用来设置代理服务器的地址,可以是主机名称,IP地址加端口号等形式。

如上代码的含义是:监听80端口号, 然后当我们访问 http://localhost:80/api/../..这样的接口的时候,它会通过 location /api/ {} 这样的反向代理到 http://localhost:8080/admin/上来。

当在访问http://localhost/api/employee/login,nginx接收到请求后转到http://localhost:8080/admin/,故最终的请求地址为http://localhost:8080/admin/employee/login,和后台服务的访问地址一致。

2). nginx 负载均衡

        当如果服务以集群的方式进行部署时,那nginx在转发请求到服务器时就需要做相应的负载均衡。其实,负载均衡从本质上来说也是基于反向代理来实现的,最终都是转发请求(简单来说就是分发糖果类似,有很多个小朋友(相当于服务器),你手里很多糖果(相当于请求),而你(相当于Nginx)需要把糖果分给小朋友,至于怎么分,那就看你想怎么分)。

nginx 负载均衡的配置方式:

upstream webservers{

server 192.168.100.128:8080;

server 192.168.100.129:8080;

}

server{

listen 80;

server_name localhost;

location /api/{

proxy_pass http://webservers/admin;#负载均衡

}

}

upstream:如果代理服务器是一组服务器的话,我们可以使用upstream指令配置后端服务器组。

如上代码的含义是:监听80端口号, 然后当我们访问 http://localhost:80/api/../..这样的接口的时候,它会通过 location /api/ {} 这样的反向代理到 http://webservers/admin,根据webservers名称找到一组服务器,根据设置的负载均衡策略(默认是轮询)转发到具体的服务器。

注:upstream后面的名称可自定义,但要上下保持一致。

nginx 负载均衡策略:

名称说明轮询默认方式weight权重方式,默认为1,权重越高,被分配的客户端请求就越多ip_hash依据ip分配方式,这样每个访客可以固定访问一个后端服务least_conn依据最少连接方式,把请求优先分配给连接数少的后端服务url_hash依据url分配方式,这样相同的url会被分配到同一个后端服务fair依据响应时间方式,响应时间短的服务将会被优先分配

具体配置方式:

轮询:

upstream webservers{

   server 192.168.100.128:8080;

   server 192.168.100.129:8080;

}

weight:

upstream webservers{

   server 192.168.100.128:8080 weight=90;

   server 192.168.100.129:8080 weight=10;

}

ip_hash:

upstream webservers{

   ip_hash;

   server 192.168.100.128:8080;

   server 192.168.100.129:8080;

}

least_conn:

upstream webservers{

  least_conn;

   server 192.168.100.128:8080;

   server 192.168.100.129:8080;

}

url_hash:

upstream webservers{

   hash &request_uri;

   server 192.168.100.128:8080;

   server 192.168.100.129:8080;

}

fair:

upstream webservers{

   server 192.168.100.128:8080;

   server 192.168.100.129:8080;

  fair;

}

柚子快报激活码778899分享:对于Nginx的反向代理的理解

http://yzkb.51969.com/

好文推荐

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: