静态页面负载均衡

如有两个节点xxx.xx.xxx.123、xxx.xx.xxx.456,

一、tomcat组件负载均衡

部署后端服务,启动tomcat即可启动服务。如123和456的8080端口上均部署了myTest服务,使用upstream直接代理即可。

复制代码
upstream myTest_upstream {
	server xxx.xx.xxx.123:8080 weight=10 max_fails=10 fail_timeout=2s;
	server xxx.xx.xxx.456:8080 weight=10 max_fails=10 fail_timeout=2s;
}
	
	
server {
	listen       80;
	server_name  xxx.xxx.cn;
	set $bg_groupName MYTEST;
	set $bg_env online;
	location ~ /myTest/(.*) {
		set $bg_context_path  myTest;
		set $backend myTest_upstream;
		rewrite_by_lua_file '/usr/local/nginx/nginx/bluegreen-lua/src/upstream_chooser.lua';
			proxy_set_header Host $http_host;
        proxy_set_header X-Real-Ip $remote_addr;
        proxy_set_header X-Forwarded-For $remote_addr;
		proxy_pass http://$backend;
		access_log logs/access_myTest.log main;
	}
}

二、静态页面负载均衡

有几下几种方法:

1、tomcat部署

静态页面放到后端的静态目录下/src/main/resources,使用tomcat启动后端即可访问静态页面,当代理了该ip端口负载均衡后,静态页面也实现了负载均衡。具体方法同上。

2、静态目录

将静态页面(如html、vue打包后的dist文件等)放到某一目录下如/data/***,使用本机nginx反向代理该目录,那么通过nginx也可以访问静态页面。此时实现负载均衡需要一个总nginx代理两个子nginx,所以需要三个nginx:

(1)123机器:

安装nginx,上传目标文件到固定目录下,使用nginx代理该目录,如:

复制代码
    server {
        listen       70;
        server_name  localhost;
        #charset koi8-r;

        #access_log  logs/host.access.log  main;
        error_page 405 =200 $request_uri;

         location ^~ /report-h5/ {
           root /data/public/nginx/;
         }

        location ^~ /message-h5/ {
      
            root /data/public/nginx/;
         }
   }

(2)456机器:

同123机器

(3)主Ng:

主ng可以安装在123机器上,可以安装在456机器上,也可以安装在其他机器上。负责负载均衡123和456两个机器,

复制代码
  location ^~ /report-h5 {
		set $bg_context_path  htm-report-app;
		set $backend report_upstream;
		rewrite_by_lua_file '/usr/local/nginx/nginx/bluegreen-lua/src/upstream_chooser.lua';
			proxy_set_header Host $http_host;       
       proxy_set_header X-Real-Ip $remote_addr;
        proxy_set_header X-Forwarded-For $remote_addr;
		proxy_pass http://$backend;
		access_log logs/access_htm-report-app.log main;
	}
	
	
	location ^~ /message-h5 {
		set $bg_context_path  htm-message-app;
		set $backend message_upstream;
		rewrite_by_lua_file '/usr/local/nginx/nginx/bluegreen-lua/src/upstream_chooser.lua';
			proxy_set_header Host $http_host;       
        proxy_set_header X-Real-Ip $remote_addr;
        proxy_set_header X-Forwarded-For $remote_addr;
		proxy_pass http://$backend;
		access_log logs/access_htm-message-app.log main;
	}
	
	
	
	upstream report_upstream {
	 server xxx.xx.xxx.123:70 max_fails=1 fail_timeout=10s;
	 server xxx.xx.xxx.456:70 max_fails=1 fail_timeout=10s;
   }
   
    upstream message_upstream {
	 server xxx.xx.xxx.123:70 max_fails=1 fail_timeout=10s;
	 server xxx.xx.xxx.456:70 max_fails=1 fail_timeout=10s;
   }

三、tomcat和静态页面同时存在

1、后端组件

直接使用主ng负载均衡即可;

2、静态页面

(1)分别上传到123、456两个子Ng上,并配置反向代理;

(2)使用主ng代理两个子Ng。

相关推荐
闪亮的路灯5 小时前
Linux 安装mqtt服务mosquitto
linux·运维·服务器
szxinmai主板定制专家7 小时前
X86 工控机 vs RK3588 异构主控:AMR 控制器 BOM、散热、长期运维对比
运维·stm32·单片机·嵌入式硬件·fpga开发·am62x
叼烟扛炮8 小时前
Linux 学习笔记(四十一):TCP 并发演进——从单进程到多线程服务器
linux·运维·服务器·网络·笔记·学习·tcp/ip
Decay__8 小时前
09_MySQL 闪回与时间点恢复 —— binlog 回放、mysqlbinlog、PITR 与误删恢复
运维·数据库·sql·mysql·架构
久曲健的测试窝8 小时前
2026软件测试工具选型指南:双模式如何化解UI脚本维护难题
运维·人工智能·科技·aigc
NailiConveyor10 小时前
柔性物流方案如何适配工厂升级?自动化输送流水线定制要点
大数据·运维·自动化·制造·业界资讯
Lsetea10 小时前
Certbot webroot申请SSL证书总是404:Nginx挑战目录与路径映射检查
运维·nginx·https·ssl证书·certbot
如若12310 小时前
Windows SSH + Headscale/Tailscale 组网及免密登录完整配置教程
运维·windows·ubuntu·ssh·内网穿透
开开心心就好10 小时前
音频降噪剪辑工具,音量裁剪一键处理
运维·服务器·前端·spring·ocr·音视频·1024程序员节
李纲明11 小时前
WordPress 白屏或提示「出现了严重错误」:先开 WP_DEBUG 抓致命错误,再二分插件与主题
运维·php·debug·wordpress·白屏·插件冲突·devdiy