Nginx实现端口转发与负载均衡配置

embedded/2024/10/21 8:50:05/

前言:当我们的软件体系结构较为庞大的时候,访问量往往是巨大的,所以我们这里可以使用nginx的均衡负载

一、配置nginx实现端口转发

本地tomcat服务端口为8082

本地nginx端口为8080

目的:将nginx的8080转发到tomcat的8082端口上进行访问

1、首先更改nginx.conf配置文件

 server {listen       8080;#8080为nginx端口server_name  localhost;location /p/ {proxy_pass   http://localhost:8082/;#8082为tomcat端口#   proxy_pass   http://xx/;}
}
#将url中/p/路径的url转发到tomcat的8082端口上

测试,在nginx的html文件下新建一个1.html

1.html

<html>
<script>
function myload(){var path="/p/pic/p1.jpg?i="+Math.random();myimg.src=path;
}
</script>
<body onload="myload()">
<img id="myimg" src=""></body>
</html>

访问nginx:localhost:8080/1.html

二、配置负载均衡

1、首先启动两个tomcat或nginx

我这里启动两个tomcat,先更改tomcat端口号。

我这里tomcat端口分别为:8082、8083

更改配置文件如下:conf\server.xml

   <Connector port="8082" protocol="HTTP/1.1"connectionTimeout="20000"redirectPort="8443" /><!-- A "Connector" using the shared thread pool--><!--<Connector executor="tomcatThreadPool"port="8082" protocol="HTTP/1.1"connectionTimeout="20000"redirectPort="8443" />-->
<Server port="8005" shutdown="SHUTDOWN">

注:<Server port="8005" shutdown="SHUTDOWN">这个也要改,不能跟另外一个tomcat的shutdown这个端口冲突。

分别在两个tomcat的webapp\pic目录命名同名的一张图片p1.jpg,但图片内容不同

2、更改nginx.conf配置文件

http{include       mime.types;default_type  application/octet-stream;sendfile        on;
#负载均衡配置
upstream xx {server 127.0.0.1:8082;server 127.0.0.1:8083;} 
server {listen       8080;#8080为nginx端口server_name  localhost;location /p/ {#proxy_pass   http://localhost:8082/;#8082为tomcat端口proxy_pass   http://xx/;}
}
}
#将url中/p/路径的url转发到tomcat的8082或8083端口上

重启nginx:

nginx -s quit #关闭
nginx -s stop #强制关闭
start nginx #启动

成功:


http://www.ppmy.cn/embedded/26954.html

相关文章

工作任务管理平台B端实战项目作品集+WebApp项目源文件 figma格式

首先&#xff0c;作品集是什么&#xff1f;通常应该包含什么内容&#xff1f;为什么大家都在做自己的作品集呢&#xff1f; 作品集是个人或公司展示其过往工作成果的集合&#xff0c;通常包括各种专案、作品或成就的范例&#xff0c;用以展示创建者的技能、经验和专业水平。 …

微服务之SpringCloud AlibabaSeata处理分布式事务

一、概述 1.1背景 一次业务操作需要跨多个数据源或需要跨多个系统进行远程调用&#xff0c;就会产生分布式事务问题 but 关系型数据库提供的能力是基于单机事务的&#xff0c;一旦遇到分布式事务场景&#xff0c;就需要通过更多其他技术手段来解决问题。 全局事务&#xff1a;…

Go中为什么不建议用锁?

Go语言中是不建议用锁&#xff0c;而是用通道Channel来代替(不要通过共享内存来通信&#xff0c;而通过通信来共享内存)&#xff0c;当然锁也是可以用&#xff0c;锁是防止同一时刻多个goroutine操作同一个资源&#xff1b; GO语言中&#xff0c;要传递某个数据给另一个gorout…

uniapp视频播放器(h5+app)

关于uniapp视频播放器遇到的一些问题&#xff0c;mark下。 中途遇到了很多问题&#xff0c;如果有相同的伙伴遇到了类似的&#xff0c;欢迎交流 官方的video播放器在app上不友好&#xff0c;有以下功能不支持。 loadedmetadata、controlstoggle不支持导致只能手写控制层。 不…

mysql主库delete一个没主键的表导致从库延迟很久问题处理

一 问题描述 发现线上环境一个从库出现延迟&#xff0c;延迟了2天了&#xff0c;还没追上主库。 查看当前运行的sql及事务&#xff0c;发现这个sql语句是在delete一个没主键的表。 二 问题模拟 这里在测试环境复现下这个问题。 2.1 在主库造数据 use baidd; CREATE TABL…

使用 Vitepress 构建博客并部署到 github 平台

前言 最近写了好多篇 Chrome 浏览器插件相关的文章&#xff0c;有十几二十篇&#xff0c;就想着构建个博客&#xff0c;用来放置相应的文章。 正好前段时间看到 VitePress 1.0.0 发布了&#xff0c;而且是用 markdown 写文章&#xff0c;正好写插件文章的时候文章都是 md 格式…

产品人生(2):从“Kanban方法”到“GTD时间管理法“

人生如产品&#xff0c;产品映人生&#xff0c;借鉴产品思维&#xff0c;快速提升软技能&#xff01; IT的小伙伴想必都听过或使用过Kanban&#xff08;看板&#xff09;&#xff0c;今天我们要聊一聊&#xff0c;如何从Kanban方法中找到高效管理时间的思路。 Kanban&#xff…

acwing算法提高之数据结构--线段树

目录 1 介绍2 训练3 参考 1 介绍 线段树是算法竞赛中常用的用来维护区间信息的数据结构。 线段树可以在O(logN)时间复杂度内完成以下操作&#xff1a; 单点修改。区间修改&#xff08;需要加入懒标记&#xff09;。区间查询&#xff08;区间求和、求区间最大值、求区间最小值…