Nginx 反向代理实现负载均衡 Nginx技术
  • 创建时间:2023-02-27 / 最新修改时间:2023-02-27 09:18:30
  • 843
  • 0
转载请注明本文出处:http://limpire.cn/artifact/heap/web/212.html


Nginx是什么,有什么过人的特点

Nginx 是一款高性能的 http 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。官方测试 nginx 能够支支撑 5 万并发链接,并且 cpu、内存等资源消耗却非常低,运行非常稳定。

Nginx 应用场景

  • http 服务器。Nginx 是一个 http 服务可以独立提供 http 服务。可以做网⻚静态服务器。
  • 虚拟主机。可以实现在一台服务器虚拟出多个网站,并可以把每个不同的虚拟主机绑定不同的域名。
  • 反向代理并负载均衡。

反向代理和负载均衡

这里主要记录一下Ngxin反向代理和负载均衡. 原理图 这里以java web项目为例,一共有3个tomcat服务器和一台了Nginx的服务器,每个tomcat服务器都部署了相同的java web项目,。 图片.png

配置

以linux为例,安装好Nginx后进入 cd /etc/nginx/conf.d 在此目录下建立的每一个配置文件,Nginx都视为一台虚拟主机,我通常以 域名 倒写加端口格式配置文件。 sudo vim limpire-cn-80.conf

配置文件内容如下:

upstream tomcat-kkb{
   server 192.168.1.2:8080; #Tomcat_A
   server 192.168.1.3:8080; #Tomcat_B
   server 192.168.1.4:8080; #Tomcat_C
}
server {
   listen 80; # 监听的端口
   server_name www.aaa.com; # 绑定的域名或ip 
   location / { # 访问路径配置
                # root index;# 根目录 
   proxy_pass http://tomcat-kkb; # 代理目标:这里是指upstream 的名字。
   index index.html index.htm; # 默认首⻚ 
   }
}

保存后上面的配置文件后,重启一下Nginx。 sudo nginx -s reload 重启后即可浏览我们的web。

均衡负载

通过上面的配置Nginx后,通过一些方法可以看出,每次访问 www.aaa.com 都会按一定算法反代到 192.168.1.2/3/4 中的其中一台服务器(默认是轮询算法),那么我们是不是可以自定义他们的权重呢? 自定义权重时我们只需要添加一个关键字: weight 例如:

upstream tomcat-kkb{
   server 192.168.1.2:8080; #Tomcat_A
   server 192.168.1.3:8080 weight=2; #Tomcat_B
   server 192.168.1.4:8080; #Tomcat_C
}
server {
   listen 80; # 监听的端口
   server_name www.aaa.com; # 绑定的域名或ip 
   location / { # 访问路径配置
                # root index;# 根目录 
   proxy_pass http://tomcat-kkb; # 代理目标:这里是指upstream 的名字。
   index index.html index.htm; # 默认首⻚ 
   }
}

weight:指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。 如按上面的配置进行反向代理,则192.168.1.3被访问的概率时其他的2倍。

Nginx 的 upstream目前支持 4 种方式的分配 :

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

2)、weight   指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。

2)、ip_hash   每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题。

3)、fair(第三方)   按后端服务器的响应时间来分配请求,响应时间短的优先分配。

4)、url_hash(第三方)


请说:

昵称 Email

评论:

吃不起海鲜就买海鲜味的酱油

回车换行很爽,代表着一个段落或者一个小结的完成,打印出来之后就是一个可触摸的成品.围着这种意境,一起来技术性打酱油.

文章列表
分类目录
友情链接