Windows+IDEA+Nginx反向代理本机实现简单集群

先简单创建一个项目,可以是Maven也可以是Spring Initializr,如果是 Maven则需要自己配置启动类

按照目录路径创建controller类

 

 

package com.cloud.SR.controller;import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;/*** @Author:kkoneone11* @name:TestConrtoller1* @Date:2023/7/10 12:13*/
@RestController
public class TestConrtoller1 {@AutowiredStringRedisTemplate stringRedisTemplate;@RequestMapping("/buy")public String shopping(){
//        String result = stringRedisTemplate.opsForValue().get("goods:001");
//        int total = result == null ? 0 : Integer.parseInt(result);System.out.println("输出成功");return "ok";}
}

 

 启动后,在下面找到Services栏

然后找到对应的启动类按下ctrl+D就会弹出这个,就相当于是复制了另一份JVM,相当于两台主机。同时要注意在JVM处要修改对应的端口用-Dserver.port=命令

可以看到成功创建

然后下载nginx到本机,记住对应路径,地址如下:nginx: download

 

 进入到conf目录修改nginx的配置文件nginx.conf


#user  nobody;
worker_processes  1;#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;#pid        logs/nginx.pid;events {worker_connections  1024;
}http {include       mime.types;default_type  application/json;sendfile        on;keepalive_timeout  65;server {listen       8080;server_name  localhost;#指定前端项目所在位置location / {root   html;index  index.html index.htm;}error_page   500 502 503 504  /50x.html;location = /50x.html {root   html;}location /api {default_type application/json;#internal;keepalive_timeout   30s;keepalive_requests  1000;#支持keep-aliveproxy_http_version 1.1;rewrite /api(/.*) $1 break;proxy_pass_request_headers on;#more_clear_input_headers Accept-Encoding;proxy_next_upstream error timeout;#proxy_pass http://127.0.0.1:8081;proxy_pass http://backend;}}upstream backend {server 127.0.0.1:8081 max_fails=5 fail_timeout=10s weight=1;server 127.0.0.1:8082 max_fails=5 fail_timeout=10s weight=1;}
}

 这里的意思是:发送请求的时候nginx会先监听8080端口,如果有请求发到8080端口然后会把请求转到api路径,然后传输到proxy_pass代理的http://backend,然后再传到下方的uperstream backend进行端口地址的分配进行轮询。

先启动nginx

start nginx

 查看是否有对应进程

tasklist /fi "imagename eq nginx.exe"

重启nginx

nginx -s reload

查看nginx修改是否正确(注意是要完整的Nginx路径),正确会有successful显示

nginx -t -c D:/software/nginx-1.18.0/conf/nginx.conf

停止nginx

nginx -s stop

正确关闭nginx

nginx -s quit

重新启动集群

浏览器输入 localhost:8080/api/buy

结果如下则成功完成集群

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/17565.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

动作捕捉技术在发布会中的应用,虚拟数字人如何实现实时动作捕捉

动作捕捉又称为动态捕捉,是一种将真人动作转化为数字数据的技术,通过传感器等设备记录真人的运动轨迹,再将这些动作捕捉数据转化为计算机可以识别的数字数据,近年来在发布会中得到了广泛应用。 素材源于网络 在2023海丝之路文化和…

Linux:项目自动化构建工具——make/Makefile

文章目录 一.make与Makefile的关系1.Makefile2.make 二.项目清理1.clean2. .PHONY 前言: 本章主要内容有认识与学习Linux环境下如何使用项目自动化构建工具——make/makefile。 一.make与Makefile的关系 当我们编写一个较大的软件项目时,通常需要将多个…

集成学习-BaggingVoting和多个模型的混淆矩阵

当涉及到集成学习时,投票法和袋装法是两种常见的技术,用于将多个基学习器(base learner)组合成一个强大的集成模型。 投票法(Voting):投票法是一种简单且常用的集成学习方法。在投票法中&#…

Graalvm编译spring boot 3 + jpa 的原生镜像

编译spring boot 3 native jpa的原生镜像 其中涉及版本: maven: 3.5.4 jdk: 17 graalvm: 22.3 springboot jpa: 3.0.8 一、Windows 1、graalvm安装 GraalVM22.3.0安装地址 解压到任意目录后添加JAVA_HOME环境变量 新增path:%JAVA_HOME%与%JAVA_H…

MySQL数据库(三)

前言 聚合查询、分组查询、联合查询是数据库知识中最重要的一部分,是将表的行与行之间进行运算。 目录 前言 一、聚合查询 (一)聚合函数 1、count 2、sum 3、avg 4、max 5、min 二、分组查询 (一)group by …

【python手写算法】利用梯度下降实现线性拟合

利用梯度下降实现线性拟合,效果和sklearn LinearRegression()差不多。 学习率初始设置为0.1结果算高的,直接让我的参数变成了nan。(体会到了飞出去的感觉) 把学习率调小了之后就正常了 # codingutf-8 import matplotlib.pyplot a…

<数据结构>NO9.选择类排序|直接选择排序|堆排序

文章目录 选择排序1.直接选择排序优化直接选择排序 2. 堆排序 选择排序 基本思想 选组排序是从待排序数据中选出最大/最小的元素放入到序列的起始位置,直到待排序数据全部有序。 直接选择排序和堆排序的基本思想均符合选择排序。 1.直接选择排序 假设数据按升序…

时间序列预测 | Matlab基于粒子群算法(PSO)优化径向基神经网络(PSO-RBF)的时间序列预测

文章目录 效果一览文章概述部分源码参考资料效果一览 文章概述 时间序列预测| Matlab基于粒子群算法(PSO)优化径向基神经网络(PSO-RBF)的时间序列预测 评价指标包括:MAE、MBE和R2等,代码质量极高,方便学习和替换数据。要求2018版本及以上。 部分源码 %% 清空环境变量 warni…

改进二进制粒子群算法在配电网重构中的应用(Matlab实现)【论文复现】

目录 0 概述 1 配电网重构的目标函数 2 算例 3 matlab代码实现 0 概述 配电系统中存在大量的分段开关和联络开关,配电网重构正是通过调整分段开关和联络升大的组合状态来变换网络结构,用于优化配电网某些指标,使其达到最优状态。正常运行时,则通过两…

高效工作:ADManager Plus的利器

在当今快节奏的商业环境中,高效的工作是成功的关键。对于IT管理员来说,管理和维护Active Directory(AD)环境是一项重要的任务。然而,手动处理繁琐的AD管理任务可能会占用大量的时间和精力,影响工作效率。为…

RLHF-基于人类反馈的强化学习

RLHF 文章目录 RLHF强化学习基础回顾为什么要使用基于人类反馈的强化学习大纲RLHF的起源大预言模型中的RLHF案例 ChatGPT RLHF中的技术细节预训练语言模型训练奖励模型基于RL进行微调 RLHF 的未来 强化学习基础回顾 智能体通过采取行动与环境进行交互,并返回状态和奖…

SpringCloud微服务(三)RabbitMQ、SpringAMQP、elasticsearch、DSL、MQ、ES详细介绍

目录 一、初始MQ 同步调用 异步调用 什么是MQ 执行下面的命令来运行MQ容器: 如果冲突了,可以先查询 RabbitMQ概述 常见消息模型 HelloWorld案例 二、SpringAMQP 引入依赖 Work Queue 消费预取限制 ​编辑 发布、订阅 发布订阅Fanout Ex…