nginx反向代理与负载均衡

我会带着你远行 2022-06-17 10:50 403阅读 0赞

通过访问不同的域名访问运行在不同端口的tomcat
8080.hz.com 访问运行8080端口的tomcat
8081.hz.com 访问运行8081端口的tomcat

域名需要配置host文件

Nginx的配置

worker_processes 1;

events {
worker_connections 1024;
}

http {
include mime.types;
default_type application/octet-stream;

  1. #log_format main '$remote_addr - $remote_user [$time_local] "$request" '
  2. # '$status $body_bytes_sent "$http_referer" '
  3. # '"$http_user_agent" "$http_x_forwarded_for"';
  4. #access_log logs/access.log main;
  5. sendfile on;
  6. #tcp_nopush on;
  7. #keepalive_timeout 0;
  8. keepalive_timeout 65;
  9. #gzip on;
  10. server {
  11. listen 80;
  12. server_name 8080.hz.com;
  13. location / {
  14. proxy_pass http://tomcatserver1;
  15. index index.html index.htm;
  16. }
  17. }
  18. server {
  19. listen 80;
  20. server_name 8081.hz.com;
  21. #charset koi8-r;
  22. #access_log logs/host.access.log main;
  23. location / {
  24. proxy_pass http://tomcatserver2;
  25. index index.html index.htm;
  26. }
  27. }
  28. upstream tomcatserver1 {
  29. server 192.168.43.131:8080;
  30. }
  31. upstream tomcatserver2 {
  32. server 192.168.43.131:8081;
  33. }

}

负载均衡

什么是负载均衡

负载均衡 建立在现有网络结构之上,它提供了一种廉价有效透明的方法扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性。
负载均衡,英文名称为Load Balance,其意思就是分摊到多个操作单元上进行执行,例如Web服务器、FTP服务器、企业关键应用服务器和其它关键任务服务器等,从而共同完成工作任务。

需求

  1. nginx作为负载均衡服务器,用户请求先到达nginx,再由nginx根据负载配置将请求转发至 tomcat服务器。
  2. nginx负载均衡服务器:192.168.43.131
  3. tomcat1服务器:192.168.43.131:8080
  4. tomcat2服务器:192.168.43.131:8081

配置nginx的负载均衡

  1. upstream tomcatserver1 {
  2. server 192.168.43.131:8080;
  3. server 192.168.43.131:8081;
  4. }
  5. upstream tomcatserver2 {
  6. server 192.168.43.131:8081;
  7. }

配置负载均衡的权重

这里写图片描述

节点说明:

在http节点里添加:

定义负载均衡设备的 Ip及设备状态
upstream myServer {

  1. server 127.0.0.1:9090 down;
  2. server 127.0.0.1:8080 weight=2;
  3. server 127.0.0.1:6060;
  4. server 127.0.0.1:7070 backup;

}

在需要使用负载的Server节点下添加

proxy_pass http://myServer;

upstream 每个设备的状态:

down 表示单前的server暂时不参与负载
weight 默认为1.weight越大,负载的权重就越大。
max_fails :允许请求失败的次数默认为1.当超过最大次数时,返回proxy_next_upstream 模块定义的错误
fail_timeout:max_fails 次失败后,暂停的时间。
backup: 其它所有的非backup机器down或者忙的时候,请求backup机器。所以这台机器压力会最轻。

发表评论

表情:
评论列表 (有 0 条评论,403人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Nginx反向代理负载均衡

    反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet

    相关 Nginx反向代理负载均衡

    集群简介 > 简单地说,集群就是指一组(若干个)相互独立的计算机,利用高速通信网络组成的一个较大的计算机服务系统,每个集群节点(即集群中的每台计算机)都是运行各自服务的独立服