完整项目学习-9部署项目前的准备

1. Nginx负载均衡

1.1 负载均衡准备工作

1.1.1 负载均衡的原理

在这里插入图片描述

1.1.2 动态获取当前服务器端口号

要求: http://localhost:8091/getPort 要求获取 :8091端口号.

@RestController
@CrossOrigin
public class PortController {
    
    

    @Value("${server.port}")
    private Integer port;

    @GetMapping("/getPort")
    public String getPort(){
    
    

        return "当前端口号:"+port;
    }
}

1.1.3 端口号获取效果

在这里插入图片描述

1.1.4 同时启动91/92/93三台服务器

在这里插入图片描述
分别允许多次.启动3台tomcat服务器.去除热部署!!!
在这里插入图片描述

1.2 负载均衡配置

1.2.1 轮询策略

说明: 根据配置文件中的服务器的顺序,依次访问服务器.
编辑完成之后,记得重启服务器.

#定义tomcat服务器集群
	upstream tomcats {
    
    
		server  localhost:8091;
		server  localhost:8092;
		server  localhost:8093;
	}
	
	#配置后端服务器代理  manage.jt.com  localhost:8091
	server {
    
    
		listen 80;
		server_name manage.jt.com;
		location / {
    
    
			#代理请求协议 
			#proxy_pass http://localhost:8091;
			proxy_pass  http://tomcats;
		}
	}

1.2.2 权重策略

说明: 根据服务器的性能,灵活的进行访问的配比

	#定义tomcat服务器集群
	upstream tomcats {
    
    
		server  localhost:8091 weight=6;
		server  localhost:8092 weight=3;
		server  localhost:8093 weight=1;
	}

1.2.3 IPHASH策略

说明: 如果需要用户与tomcat服务器进行绑定. 可以选用 iphash策略
策略: 有时会将用户的数据,存储到后端服务器的Session中.并且保证每次用户访问都访问同一个tomcat服务器.

IPhash策略:

#定义tomcat服务器集群
	upstream tomcats {
    
    
		ip_hash;
		server  localhost:8091 weight=6;
		server  localhost:8092 weight=3;
		server  localhost:8093 weight=1;
	}

iphash实现原理:
在这里插入图片描述

1.3 nginx高可用实现

1.3.1 问题描述

说明: 当nginx访问tomcat服务器时,如果后端服务器宕机.则nginx依然会访问故障机. 这样会造成用户响应变慢. 如何优化?

1.3.2 关键字

down 属性 用来标识tomcat服务器. 告知nginx 该服务器已经下线. 以后不会访问该服务器.
backup属性 设定备用机. 正常情况下 不会主动提供服务. 当服务器遇忙时/或者主机全部下线时,才起作用.

1.3.3 在线部署步骤

需求: 要求用户正常使用,并且完成项目升级. 打成jar包,重新部署. 如何操作?
关键点: 原有的服务必须关闭,之后才能升级.
步骤:

  1. 将设计部署的策略
  2. 通过down属性标识下线.
  3. 之后部署新的项目,启动测试.如果没有问题.则上线运行.
  4. 重复执行上述的操作即可.
  5. 上述的操作 一般都有脚本完成 几分钟即可实现上线操作. Linux运维

1.3.4 tomcat高可用实现

  1. max_fails=1 指定最大的失败的次数 规定最大的失败次数1
  2. fail_timeout=60s; 如果失败的次数达到最大失败次数60s内, nginx不会再次访问故障机.
#定义tomcat服务器集群
	upstream tomcats {
    
    
		#ip_hash;  weight=6
		server  localhost:8091 max_fails=1 fail_timeout=60s;
		server  localhost:8092 max_fails=1 fail_timeout=60s;
		server  localhost:8093 max_fails=1 fail_timeout=60s;
	}

1.4 nginx 前端项目发布

1.4.1 修改前端JS

说明: 前端访问后端,是通过ajax的方式动态访问. 需要将Ajax请求改为后端域名访问.
1.修改Ajax请求路径:
在这里插入图片描述
2.修改文件上传的路径
在这里插入图片描述

1.4.2 前后端代码测试

测试前端代码访问后端服务器是否有问题.
在这里插入图片描述

1.5 前端项目部署

1.5.1 前端发布说明

前端包含文件 html/css/js 静态资源. 将前端项目按照静态资源的方式打成文件目录. 之后通过nginx实现反向代理.实现前端项目的发布.

1.5.2 前端项目打包

在这里插入图片描述
效果: 如果编译成功,则会在jtadmin的目录下,生成dist目录信息. dist就是编译之后的前端项目.
在这里插入图片描述

1.5.3 前端项目发布

1). 导入前端文件
在这里插入图片描述
2). 反向代理实现项目发布
要求通过http://www.jt.com的方式访问前端系统首页.

#配置前端服务器代理  www.jt.com  dist/index.html
	server {
    
    
		listen 80;
		server_name www.jt.com;
		location / {
    
    
			root dist;
			index index.html;
		}
	}

1.5.4 前端项目发布成功展现

在这里插入图片描述

1.5.5 前端项目部署流程图

项目说明:

  1. 前端项目 是静态资源文件 部署在nginx内部
  2. 后端项目 多个tomcat服务器 8091/8092/8093
  3. 用户通过www.jt.com 反向代理到前端服务
  4. 前端获取数据通过manage.jt.com 访问后端服务器集群. 通过nginx实现负载均衡
    在这里插入图片描述

2. Linx学习

  • List item

Guess you like

Origin blog.csdn.net/weixin_43770110/article/details/121385448