1 Nginx负载均衡算法

nginx 的 upstream目前支持 4 种方式的分配
0)、轮询(默认)
每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。
1)、weight
指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。
2)、ip_hash
每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题。
3)、fair(第三方)
按后端服务器的响应时间来分配请求,响应时间短的优先分配。
4)、url_hash(第三方)
根据url的hash结果分配

 

2 静态http服务器配置

将服务器上的静态文件(如html, 图片)通过http协议展现给客户端

server {
listen 80; # 端口号
location / {
    root /usr/share/nginx/html; # 静态文件路径
}

3 反向代理

客户端本来可以直接通过HTTP协议访问某网站应用服务器,网站管理员可以在中间加上一个Nginx,客户端请求Nginx

,Nginx请求应用服务器,然后将结果返回给客户端,此时Nginx就是反向代理服务器。

server {
  listen 80;
  location / {
    proxy_pass http://192.168.20.1:8080; # 应用服务器HTTP地址
}

4 负载均衡配置

upstream tomcatcluster {
    server 127.0.0.1:8080;
    server 127.0.0.1:8081;
    }    server {
    listen       8090;
    server_name  localhost;    location / {
      proxy_pass http://tomcatcluster;
    }}

 5 虚拟主机配置

 暂略

6 正向代理和反向代理区别

a.代理服务器如果配置在客户端即为正向代理,如果配置在服务端即为反向代理,和机器个数没有关系

b.正向代理代替客户端去发送请求,反向代理代替服务端接受请求

c.正是因为正向代理代替客户端发送请求,正向代理服务器和客户端对外表现为一个客户端,所以正向代理隐藏了真实的客户端;
反向代理代替服务端接受请求,反向代理服务器和真实服务器对外表现为一个服务端,所以反向代理服务器隐藏真实的服务端

综上, 本质上代理服务器还是那个代理服务器,如果替客户端干活就是正向代理,如果替服务端干活就是反向代理

nginx负载均衡tcp nginx负载均衡面试题_nginx负载均衡tcp