当前位置: 首页 > news >正文

nginx反向代理_负载均衡的配置

说明

在这里插入图片描述
两台虚拟机:
88节点是自己的虚拟机
66节点是小组成员的虚拟机,我们暂且叫同学机
tomcat端口,分别为8081和8082
总结就是:
自己虚拟机上面安装nginx和tomcat8082
同学机上安装tomcat8081

一、开始安装nginx(只安装在自己的虚拟机上)

  • 都有两种方式,一种直接下载,第二种使用解压包方式。这里大多使用解压包方式。
  • 我下载的压缩包的路径是:/data
  • 我的解压路径:/usr/compress/

1.先安装wget命令

yum install wget -y

2.再安装编译软件包

yum install -y apr* autoconf automake bison bzip2 bzip2* compat* cpp curl curl-devel fontconfig fontconfig-devel freetype freetype* freetype-devel gcc gcc-c++ gd gettext gettext-devel glibc kernel kernel-headers keyutils keyutils-libs-devel krb5-devel libcom_err-devel libpng libpng-devel libjpeg* libsepol-devel libselinux-devel libstdc++-devel libtool* libgomp libxml2 libxml2-devel libXpm* libtiff libtiff* make mpfr ncurses* ntp openssl openssl-devel patch pcre-devel perl php-common php-gd policycoreutils telnet t1lib t1lib* nasm nasm* wget zlib-devel

3.安装pcre

3.1先切换到/data下面,这样压缩包才能下载到/data中

cd /data

3.2下载

wget https://www.linuxprobe.com/Software/pcre-8.35.tar.gz

3.3查看是否下载成功

cd /data/
ll

在这里插入图片描述

3.4上传源码压缩包,解压、编译、安装 三部曲。

1)、解压文件

mkdir /usr/compress/
tar -zxvf pcre-8.35.tar.gz -C /usr/compress/

在这里插入图片描述

2)、编译

# 进入pcre目录
cd /usr/compress/pcre-8.35/
#编译
./configure  

在这里插入图片描述

3)、安装

执行命令: 
make 
make install

4、安装 openssl

4.1先切换到/data下面,这样压缩包才能下载到/data中

cd /data

4.2下载OpenSSL的地址:

wget https://www.linuxprobe.com/Software/openssl-1.0.1h.tar.gz

4.3查看是否下载成功

cd /data/
ll

在这里插入图片描述

4.4上传源码压缩包,解压、编译、安装 三部曲。

1)、解压文件

tar -zxvf openssl-1.0.1h.tar.gz -C /usr/compress/

2)、编译

# 回到 openssl目录下,
cd /usr/compress/openssl-1.0.1h/
#编译
./config

3)、安装

执行命令: 
make 
make install

5、安装 zlib

5.1先切换到/data下面,这样压缩包才能下载到/data中

cd /data

5.2下载zlib的地址:

wget https://www.linuxprobe.com/Software/zlib-1.2.8.tar.gz

5.3查看是否下载成功

cd /data/
ll

在这里插入图片描述

5.4上传源码压缩包,解压、编译、安装 三部曲。

1)、解压文件

tar -zxvf zlib-1.2.8.tar.gz -C /usr/compress/

2)、编译

# 进入zlib目录
cd /usr/compress/zlib-1.2.8/
#编译
./configure 

3)、安装

执行命令: 
make 
make install

6、安装 nginx

6.1先切换到/data下面,这样压缩包才能下载到/data中

cd /data

6.2下载nginx的地址:

wget https://www.linuxprobe.com/Software/nginx-1.6.0.tar.gz

6.3查看是否下载成功

cd /data/
ll

在这里插入图片描述

6.4上传源码压缩包,解压、编译、安装 三部曲。

1)、解压文件

tar -zxvf nginx-1.6.0.tar.gz -C /usr/compress/

2)、编译

# 进入nginx目录
cd /usr/compress/nginx-1.6.0/
#编译
./configure 

3)、安装

执行命令: 
make 
make install

二、运行nginx

安装完nginx后,会在 路径 /usr/local 下自动生成 nginx 文件夹。这是自动生成的。

1.1进入这个目录:

cd /usr/local/nginx/sbin

1.2启动nginx

./nginx

1.3查询是否启动

ps -ef | grep nginx

1.4关闭防火墙和SELinux

systemctl stop firewalld
setenforce 0

1.5测试

默认端口为80
浏览器访问自己的ip出现nginx默认界面,nginx就配置好了

1.5.1怎么查看自己的ip

在这里插入图片描述
在这里插入图片描述

1.5.1怎么访问nginx

在这里插入图片描述

1.6 关闭nginx:

目前不用执行,但是要记住

关闭nginx:./nginx -s stop

三、安装配置JDK(两台都要安装)

1、上传并解压jdk文件

上传到/data
在这里插入图片描述
在这里插入图片描述

创建jdk目录
mkdir -p /usr/lib/jdk
切换路径
cd /data
解压:
tar -zxvf jdk-8u161-linux-x64.tar.gz -C /usr/lib/jdk
cd /usr/lib/jdk/jdk1.8.0_161/

在这里插入图片描述

2、配置环境变量

// 编辑profile文件
vim /etc/profile
# 在末尾处添加以下内容
export JAVA_HOME=/usr/lib/jdk/jdk1.8.0_161
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
// 退出并保存
source /etc/profile

3、检验java环境是否生效:

java -version

在这里插入图片描述

四、安装配置tomcat(两台服务器,都要部署)

1.上传安装包

在这里插入图片描述
在这里插入图片描述

2.解压安装包

创建文件夹
mkdir -p /usr/lib/tomcat
cd /data/
上传解压安装包
tar -zxvf apache-tomcat-9.0.55.tar.gz -C /usr/lib/tomcat
cd /usr/lib/tomcat/

在这里插入图片描述

3、边界tomcat配置文件修改端口号

3.1有nginx的那台虚拟机(自己的虚拟机)端口号修改为8082

vim /usr/lib/tomcat/apache-tomcat-9.0.55/conf/server.xml
第69行修改为8082

在这里插入图片描述

3.2 没有nginx的虚拟机(同学机)端口号修改为8081

vim /usr/lib/tomcat/apache-tomcat-9.0.55/conf/server.xml
第69行修改为8081

在这里插入图片描述

4、启动tomcat

到tomcat的bin目录下
cd /usr/lib/tomcat/apache-tomcat-9.0.55/bin
执行脚本启动tomcat
./startup.sh
关闭命令,了解就可以,不用执行
./shutdown.sh

5.检验是否启动成功

安装net-tools安装包
yum install net-tools -y
在自己的虚拟机上执行
netstat -tunlp | grep 8082
在同学机器上
netstat -tunlp | grep 8081

在这里插入图片描述

6.在云服务器上添加端口号

6.1有nginx的虚拟机,也就是自己的虚拟机

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

6.2 没有nginx的虚拟机,也就是同学的虚拟机

在这里插入图片描述
在这里插入图片描述

7.浏览器访问

关闭防火墙、SElinux
systemctl stop firewalld
setenforce 0

在这里插入图片描述

在这里插入图片描述

五、配置多节点反向代理(只修改nginx的虚拟机)

1.关闭nginx

cd /usr/local/nginx/sbin/
./nginx -s stop

2.修改配置文件

vim /usr/local/nginx/conf/nginx.conf
添加upstream参数配置:一定要添加在server上面,大概35行,一定一定一定
upstream targetserver{server 101.42.153.9:8081;server 101.43.248.178:8082;}

在这里插入图片描述

在location / 里面添加,大概47行,一定一定一定
proxy_pass http://targetserver;
注释掉这两句话,
root   html;
index  index.html index.htm;

在这里插入图片描述

3。重启nginx验证即可。

cd /usr/local/nginx/sbin/
./nginx

4.测试

直接访问nginx(也就是直接输入nginx那台虚拟机的ip),你可以看到他访问的其实是tomcat
101.43.248.178

在这里插入图片描述

其实到此处,已经实现了负载均衡,只不过每台服务器所占的权重是一样的,也就是流量是平分的

六、配置负载均衡

1、先修改其中一台tomcat默认页面(修改的是8082端口的虚拟机)

修改配置文件

vim /usr/lib/tomcat/apache-tomcat-9.0.55/conf/server.xml

在167行左后(上面),添加以下内容

<Context path="" docBase="testDemo"/>

在这里插入图片描述

2.在index.html文件添加内容(修改的是8082端口的虚拟机)

cd /usr/lib/tomcat/apache-tomcat-9.0.55/webapps
mkdir testDemo
cd /usr/lib/tomcat/apache-tomcat-9.0.55/webapps/testDemo
创建index。xml文件
touch index.html
编辑文件
vim index.html

添加以下内容

Tomcat reverse proxy

(这里修改其中一台tomcat服务器的默认页面,目的是为了咱们验证负载均衡,也就是说为了咱们访问
nginx的时候,能够更直观的看到每次访问的是哪一个节点)

3.重新启动tomcat(两台虚拟机都要)

cd /usr/lib/tomcat/apache-tomcat-9.0.55/bin
./shutdown.sh
./startup.sh
查看端口
netstat -tunlp | grep 8081
netstat -tunlp | grep 8082

4.查看两台虚拟机的tomcat端口能不能进去

4.1 查看8082端口,显示的是我们修改过的界面,也就是一句话

在这里插入图片描述

4.2查看8081端口,是正常的界面

在这里插入图片描述

5.测试负载均衡

访问nginx,有的时候访问的是8082端口有的时候访问的是8081端口,基本上一人一次

相关文章:

nginx反向代理_负载均衡的配置

说明 两台虚拟机&#xff1a; 88节点是自己的虚拟机 66节点是小组成员的虚拟机&#xff0c;我们暂且叫同学机 tomcat端口&#xff0c;分别为8081和8082 总结就是&#xff1a; 自己虚拟机上面安装nginx和tomcat8082 同学机上安装tomcat8081 一、开始安装nginx&#xff08;只安装…...

程序员随时担心被抛弃......大厂外包值不值得去?

外包”这个词经常被人提及&#xff0c;而且也经常被我们所“鄙夷”&#xff0c;很多人都在四处问&#xff1a;“软件外包公司到底能不能去”&#xff1f; 外包公司到底能不能学到真正的技术&#xff1f; 外包大厂能不能去&#xff1f; 今天就给大家详细分享下外包的利与弊 做…...

C++解释器模式实战:从设计到应用的全面指南

目录标题 第一章&#xff1a;解释器模式简介&#xff08;Introduction to the Interpreter Pattern&#xff09;1.1 模式定义&#xff08;Pattern Definition&#xff09;1.2 解释器模式的用途&#xff08;Uses of the Interpreter Pattern&#xff09; 1.3 解释器模式的优缺点…...

使用华为云免费资源训练Paddle UIE模型

一、创建虚拟环境 好习惯&#xff0c;首先创建单独的运行环境 conda create -n uie python3.10.9 conda activate uie 二、安装paddle框架及paddlenlp 2.1 参考官方文档安装paddle 开始使用_飞桨-源于产业实践的开源深度学习平台 首先查看自己服务器cuda版本&#xff0c;…...

深度学习12. CNN经典网络 VGG16

深度学习12. CNN经典网络 VGG16 一、简介1. VGG 来源2. VGG分类3. 不同模型的参数数量4. 3x3卷积核的好处5. 关于学习率调度6. 批归一化 二、VGG16层分析1. 层划分2. 参数展开过程图解3. 参数传递示例4. VGG 16各层参数数量 三、代码分析1. VGG16模型定义2. 训练3. 测试 一、简…...

Doris(3):创建用户与创建数据库并赋予权限

Doris 采用 MySQL 协议进行通信&#xff0c;用户可通过 MySQL client 或者 MySQL JDBC连接到 Doris 集群。选择 MySQL client 版本时建议采用5.1 之后的版本&#xff0c;因为 5.1 之前不能支持长度超过 16 个字符的用户名。 1 创建用户 Root 用户登录与密码修改 Doris 内置 r…...

深入浅出 Golang 内存管理

了解内存管理~ 前言&#xff1a; 本节课主要介绍了内存管理知识与自动内存管理机制&#xff0c;并对目前 Go 内存管理过程中存在的问题提出了解决方案&#xff0c;同时结合了上次课程学习的《Go 语言性能优化》相关知识&#xff0c;提供可行性的优化建议 … 自动内存管理 Go…...

基于Python的简单40例和爬虫详细讲解(文末赠书)

目录 先来看看Python40例 学习Python容易坐牢&#xff1f; 介绍一下什么是爬虫 1、收集数据 2、爬虫调研 3、刷流量和秒杀 二、爬虫是如何工作的&#xff1f; 三、爬虫与SEO优化 什么是python爬虫 Python爬虫架构 最担心的问题 本期送书 随着人工智能以及大数据的兴起…...

Vector - CAPL - CAN x 总线信息获取(续2)

继续.... 目录 ErrorFrameCount -- 错误帧数量 代码示例 ErrorFrameRate -- 错误帧速率 代码示例 ExtendedFrameCount -- 扩展帧数量 代码示例 ExtendedFrameRate -- 扩展帧速率 代码示例 ExtendedRemoteFrameCount -- 远程扩展帧数量 代码示例 ExtendedRemoteFrameRa…...

C++基础知识【8】模板

目录 一、什么是C模板&#xff1f; 二、函数模板 三、类模板 四、模板特化 五、模板参数 六、可变模板参数 七、模板元编程 八、嵌套模板 九、注意事项 一、什么是C模板&#xff1f; C模板是C编程中非常重要的一部分&#xff0c;它允许程序员以一种通用的方式编写代码…...

MAC-安装Java环境、JDK配置、IDEA插件推荐

背景&#xff1a;发现经常换电脑装环境等比较麻烦&#xff0c;主要还是想记录一下&#xff0c;不要每次安装都到处翻。。 1、下载并安装JDK 到官网下载所需的JDK&#xff1a;https://www.oracle.com/technetwork/java/javase/downloads/jdk11-downloads-5066655.html 这儿下…...

Mysql如何避免常见的索引失效

Mysql索引算是非常常用了&#xff0c;用得好提高效率&#xff0c;用的不好适得其反 如何避免常见的索引失效 1.模糊查询 使用 LIKE 查询时&#xff0c;如果搜索表达式以通配符开头&#xff0c;如 %value&#xff0c;MySQL 就无法使用索引来加速查询&#xff0c;因为它无法倒序…...

SpringBoot集成Redis及问题解决

SpringBoot集成Redis 此篇文章为SpringBoot集成Redis的简单介绍&#xff0c;依赖、序列化操作、工具类都可以在后面的实操中直接搬运使用或者在此基础上进行改进使用 1、集成Redis 1.1、新建SpringBoot项目 新建项目这边就不一一介绍了&#xff0c;大家如果还有不会的可以自行…...

PyTorch 人工智能研讨会:6~7

原文&#xff1a;The Deep Learning with PyTorch Workshop 协议&#xff1a;CC BY-NC-SA 4.0 译者&#xff1a;飞龙 本文来自【ApacheCN 深度学习 译文集】&#xff0c;采用译后编辑&#xff08;MTPE&#xff09;流程来尽可能提升效率。 不要担心自己的形象&#xff0c;只关心…...

AI绘图设计师Stable Diffusion成为生产力工具(五):放大并修复老照片、马赛克照片、身份证件照

S&#xff1a;你安装stable diffusion就是为了看小姐姐么&#xff1f; I &#xff1a;当然不是&#xff0c;当然是为了公司的发展谋出路~~ 预先学习&#xff1a; 安装webui《Windows安装Stable Diffusion WebUI及问题解决记录》。运行使用时问题《Windows使用Stable Diffusion时…...

cubase正版下载安装包-cubase正版下载v1.2.0.69 软件激活版

cubase正版下载是一款实用的音乐创作类软件。我们可以通过这款软件实现创作音乐的自由&#xff0c;再也不用花大价钱请别人来帮忙制作&#xff0c;只需自己动动手就可以轻松完成我们所想要的&#xff0c;这款软件做到了让每一位热爱音乐的人都可以实现自己的梦想。 cubase正版…...

Python机器学习:支持向量机

这是我读本科的时候第一个接触到的机器学习算法&#xff0c;但也是第一个听完就忘的。。。 他的基本思想很简单&#xff1a;想办法把一个样本集划成两个部分&#xff1a;对于空间中的样本点集合&#xff0c;我们找到一个超平面把这个样本点集合给分成两个部分&#xff0c;其中…...

矩阵和线性代数的应用

矩阵和线性代数是数学中重要的概念&#xff0c;它们被广泛应用于物理、工程、计算机科学、经济学等众多领域。本文将讨论矩阵和线性代数的一些基本概念以及它们在实际应用中的重要性和影响。 一、矩阵和线性代数的基本概念 矩阵是由数字组成的矩形数组。它可以表示线性方程组…...

六:内存回收

内存回收&#xff1a; 应用程序通过 malloc 函数申请内存的时候&#xff0c;实际上申请的是虚拟内存&#xff0c;此时并不会分配物理内存。 当应用程序读写了这块虚拟内存&#xff0c;CPU 就会去访问这个虚拟内存&#xff0c; 这时会发现这个虚拟内存没有映射到物理内存&…...

【cpolar 内网穿透】Openwrt 软路由实现内网穿透

cpolar 是一种安全的内网穿透云服务&#xff0c;它将内网下的本地服务器通过安全隧道暴露至公网。使得公网用户可以正常访问内网服务。 文章目录 前言一、上传 cpolar 安装包二、配置cpolar环境变量三、安装并配置 cpolar 服务3.1 安装 cpolar3.2 启动 cpolar3.3 进行其他配置 …...

2026年公司文化专题片拍摄公司排行榜:行业深度解析

引言随着企业对品牌传播和文化建设的重视程度不断提升&#xff0c;公司文化专题片成为展示企业形象、传递核心价值观的重要手段。越来越多的企业开始关注如何通过高质量的专题片来提升品牌形象和企业文化影响力。本文将深入分析2026年公司文化专题片拍摄行业的趋势&#xff0c;…...

CodeDroidAI:本地化AI代码助手的设计原理与工程实践

1. 项目概述&#xff1a;一个面向开发者的AI代码助手最近在GitHub上看到一个挺有意思的项目&#xff0c;叫“FMXExpress/CodeDroidAI”。光看这个名字&#xff0c;可能有点摸不着头脑&#xff0c;但如果你是个经常和代码打交道的开发者&#xff0c;尤其是对提升编码效率、探索A…...

科研实战:三种高效获取ERA5再分析数据的路径解析

1. ERA5再分析数据基础认知 第一次接触ERA5数据时&#xff0c;我和大多数科研新手一样被各种专业术语搞得晕头转向。简单来说&#xff0c;ERA5就像给地球做CT扫描生成的全球气象体检报告&#xff0c;它能提供从1950年到现在&#xff0c;每小时更新的气温、降水、风速等上百种气…...

解锁网盘文件下载新体验:LinkSwift直链解析工具完全指南

解锁网盘文件下载新体验&#xff1a;LinkSwift直链解析工具完全指南 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 &#xff0c;支持 百度网盘 / 阿里云盘 / 中国移动云盘 / 天…...

嵌入式系统学习路径:从硬件基础到系统架构的认知跃迁

1. 从“螺丝钉”到“系统设计师”&#xff1a;嵌入式学习的认知跃迁大家好&#xff0c;我是老张&#xff0c;一个在嵌入式行业里摸爬滚打了十几年的老兵。今天我们不聊具体的代码&#xff0c;也不讲某个芯片的寄存器配置&#xff0c;我想和大家聊聊一个更根本的问题&#xff1a…...

Mzmine 4.4.3 安装教程

软件介绍MZmine是一款开源的质谱数据处理平台&#xff0c;主要用于液相色谱-质谱&#xff08;LC-MS&#xff09;等数据的分析&#xff0c;其核心功能包括原始数据导入、色谱峰检测与去卷积、跨样品峰对齐、化合物识别&#xff08;通过与数据库比对&#xff09;以及结果可视化&a…...

FanControl 267版:Windows电脑风扇噪音终极解决方案

FanControl 267版&#xff1a;Windows电脑风扇噪音终极解决方案 【免费下载链接】FanControl.Releases This is the release repository for Fan Control, a highly customizable fan controlling software for Windows. 项目地址: https://gitcode.com/GitHub_Trending/fa/F…...

图像超分新SOTA:DAT模型凭什么在效果和效率上双赢?深入对比SwinIR、EDSR等经典方案

DAT模型&#xff1a;图像超分辨率领域的效率与效果平衡术 当一张模糊的老照片在算法处理后突然变得清晰可辨时&#xff0c;这种"魔法"背后是图像超分辨率技术的精妙演化。在这个领域&#xff0c;Transformer架构近年来展现出惊人的潜力&#xff0c;却也面临着计算复…...

AI超级计算机架构演进与性能优化解析

1. AI超级计算机的技术架构演进AI超级计算机的核心架构在过去六年发生了显著变化。2019年主流系统如Summit主要采用NVIDIA V100 GPU&#xff0c;而到2025年&#xff0c;xAI的Colossus已升级到H100/H200混合架构。这种演进主要体现在三个维度&#xff1a;1.1 计算单元设计原理现…...

魔兽世界宏编辑器终极指南:5分钟掌握GSE高级宏编译工具

魔兽世界宏编辑器终极指南&#xff1a;5分钟掌握GSE高级宏编译工具 【免费下载链接】GSE-Advanced-Macro-Compiler GSE is an alternative advanced macro editor and engine for World of Warcraft. 项目地址: https://gitcode.com/gh_mirrors/gs/GSE-Advanced-Macro-Compi…...