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

【Linux】Linux+Nginx部署项目(负载均衡动静分离)

🥳🥳Welcome Huihui's Code World ! !🥳🥳

接下来看看由辉辉所写的关于Linux的相关操作吧 

目录

🥳🥳Welcome Huihui's Code World ! !🥳🥳

一.Nginx负载均衡

1.什么是负载均衡

2.实现负载均衡的步骤

①Nginx安装

一键安装4个依赖

解压安装包

进入安装包目录

②启动 nginx 服务

进入到指定目录

启动

检测是否成功启动

③开放防火墙的80端口

开放端口

查看防火墙列表

在地址栏输入你的ip

④准备2个tomcat

进入到tomcat所在的目录

启动tomcat

⑤配置Nginx

进入指定目录

修改nginx.conf

重启nginx

⑥部署项目

将项目上传到服务器

导入数据脚本

重启两个服务器

在浏览器访问

二.动静分离【部署项目前端】

1.什么是动静分离

2.实现动静分离的步骤

①进入到指定目录

②上传文件

③解压项目压缩包

下载插件

解压

④Nginx配置

⑤浏览器访问

⑥添加映射关系

⑦在浏览器再次访问


一.Nginx负载均衡

1.什么是负载均衡

        负载均衡是一种分布式计算技术,用于在计算机网络或服务器集群中分配工作负载,以实现资源的优化利用和提高系统性能。当一个系统面临大量的请求时,负载均衡可以将这些请求平均地分配给多个服务器或计算节点,确保每个服务器都能够承担适当的负载。

        负载均衡的主要目标是避免某些服务器负载过重,而其他服务器处于空闲状态的情况,从而提高整个系统的吞吐量、响应速度和可靠性。通过合理地分发请求,负载均衡可以确保每个服务器都能够充分利用其计算和存储资源,并且在某个服务器出现故障时,其他服务器可以接管其工作,保证系统的连续性和可用性。

2.实现负载均衡的步骤

Nginx安装

一键安装4个依赖
yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel

解压安装包

【我已经上传了安装包,可以自行到网上下载安装包,不会上传的可以看上篇博文】

下载安装包
wget http://nginx.org/download/nginx-1.13.7.tar.gz
解压安装包
tar -xvf nginx-1.13.7.tar.gz

进入安装包目录
cd nginx-1.13.7

编译,执行配置

考虑到后续安装ssl证书 添加两个模块

./configure --with-http_stub_status_module --with-http_ssl_module

安装

make && make install

启动 nginx 服务

进入到指定目录
cd /usr/local/nginx/sbin

启动
./nginx
检测是否成功启动
#下载插件
yum install lsof

#查看Nignx是否启动
lsof -i:80

出现下图中的命令行说明以及成功启动啦

开放防火墙的80端口

开放端口
firewall-cmd --zone=public --add-port=80/tcp --permanent

查看防火墙列表
firewall-cmd --reload && firewall-cmd --list-port

在地址栏输入你的ip

准备2个tomcat

进入到tomcat所在的目录

复制tomcat

修改端口号

#第2个修改的配置如下
1. HTTP端口,默认8080,如下改为8081
2.远程停服务端口,默认8005,如下改为8006
3.AJP端口,默认8009,如下改,8010

启动tomcat

如果在浏览器能够出现下图效果,便说明已经成功啦

⑤配置Nginx

进入指定目录
cd /usr/local/nginx/conf

修改nginx.conf
#服务器的集群upstream  tomcat_list {  #服务器集群名字server    127.0.0.1:8080  weight=1;   #服务器1   weight是权重的意思,权重越大,分配的概率越大。server    127.0.0.1:8081  weight=2; #服务器2   weight是权重的意思,权重越大,分配的概率越大} 

重启nginx

需要进入到/usr/local/nginx/sbin目录下操作

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

这样在浏览器直接输入ip就可以进入啦

⑥部署项目

将项目上传到服务器

两个服务器都需要进行这个操作

导入数据脚本

重启两个服务器
在浏览器访问

二.动静分离【部署项目前端】

1.什么是动静分离

        动静分离(Dynamic-Static Separation)是一种将动态内容和静态内容分开处理的技术。在网络应用中,动态内容通常是指根据用户请求生成的、实时变化的数据,而静态内容则是指不变的、相对固定的文件,如HTML、CSS、JavaScript、图片等。

        动静分离的目的是优化网站或应用程序的性能和可扩展性。通过将静态内容与动态内容分别存储和处理,可以提高系统的响应速度、减轻服务器负载,并降低带宽消耗。

        动静分离可以提升性能,静态资源可以被缓存,减少了服务器生成内容的压力,加快了网页加载速度。减轻服务器负载,静态资源可以由CDN等专门的服务器提供,减轻了应用服务器的负载。节省带宽成本,通过CDN分发静态内容,可以减少对服务器带宽的需求,降低带宽成本

2.实现动静分离的步骤

①进入到指定目录

在此目录下创建一个mypro文件夹用来存放项目

②上传文件

③解压项目压缩包

下载插件

yum install -y unzip

解压

需要进入到压缩包所在的目录下进行解压

unzip blog.zip

Nginx配置

这个配置与负载均衡中的nginx配置一致,在这里就不做过多赘述

location  ^~/api/ {#^~/api/表示匹配前缀是api的请求,proxy_pass的结尾有/, 则会把/api/*后面的路径直接拼接到后面,即移除apiproxy_pass http://tomcat_list/;}

最后重启nginx即可

⑤浏览器访问

⑥添加映射关系

进入到电脑指定目录

C:\Windows\System32\drivers\etc\hosts

打开文件进行编辑

⑦在浏览器再次访问

好啦,今天的分享就到这了,希望能够帮到你呢!😊😊 

相关文章:

【Linux】Linux+Nginx部署项目(负载均衡动静分离)

🥳🥳Welcome Huihuis Code World ! !🥳🥳 接下来看看由辉辉所写的关于Linux的相关操作吧 目录 🥳🥳Welcome Huihuis Code World ! !🥳🥳 一.Nginx负载均衡 1.什么是负载均衡 2.实…...

C++笔记之vector的成员函数swap()和data()

C笔记之vector的成员函数swap()和data() 标准C中的std::vector类确实有swap()和data()这两个成员函数。下面是它们的简要描述: swap(): std::vector的swap()成员函数用于交换两个向量的内容,实现了高效的交换操作,不需要复制向量的元素。这…...

Linux centos环境 安装谷歌浏览器

教程 地址...

go-gin-vue3-elementPlus带参手动上传文件

文章目录 一. 总体代码流程1.1 全局Axios部分样例1.2 上传业务 二. 后端部分三. 测试样例 go的mvc层使用gin框架. 总的来说gin的formFile封装的不如springboot的好.获取值有很多的坑. 当然使用axios的formData也有不少坑.现给出较好的解决办法 以下部分仅贴出关键代码 一. 总…...

艺术的维度:洞察AI诈骗,优雅防范之艺术

当前,AI技术的广泛应用为社会公众提供了个性化智能化的信息服务,也给网络诈骗带来可乘之机,如不法分子通过面部替换语音合成等方式制作虚假图像、音频、视频仿冒他人身份实施诈骗、侵害消费者合法权益。 以下是一些常见的AI诈骗例子&#xf…...

JavaScript的作用域和作用域链

作用域 ● 作用域(Scoping):我们程序中变量的组织和访问方式。"变量存在在哪里?“或者"我们可以在哪里访问某个变量,以及在哪里不能访问?” ● 词法作用域(Lexical scoping&#xff…...

电脑文件批量重命名攻略:高效操作技巧助您轻松完成任务

在日常使用电脑时,我们经常需要对文件进行重命名。当文件数量众多时,手动重命名既耗时又容易出错。此时,借助一些实用技巧,我们可以轻松地完成电脑文件的批量重命名。本文将提供一份全面的电脑文件批量重命名攻略,帮助…...

四、三种基本程序结构

1、程序结构 (1)在C语言程序中,一共有三种程序结构:顺序结构、选择结构(分支结构)、循环结构。 顺序结构:按照事务本身特性,必须一个接着一个来完成。选择结构:到某个节点后,会根据一次判断结果来决定之后…...

深入理解元素的高度、行高、行盒和vertical-align

1.块级元素的高度 当没有设置高度时,高度由内容撑开,实际上是由行高撑开,当有多行时,高度为每行的行高高度之和。 行高为什么存在? 因为每行都由一个行盒包裹,行高实际上是行盒的高度。 2.什么是行盒&am…...

什么叫储能能量管理单元EMU?储能能量管理单元EMU功能?储能EMU是什么?储能能量管理系统如何实现一次调频AGC-AVC功能?

一:储能EMU是什么意思?什么叫储能能量管理单元EMU? EMU是能量管理单元的英文缩写 (Energy Management Unit, EMU) EmuPower3300能量管理单元EMU是由广州智昊电气研发配套EsccPower3300储能协调管理器组成对光伏电站的管理,控制,…...

机器学习之决策树

决策树: 是一种有监督学习方法,从一系列有特征和标签的数据中总结出决策规则,并采用树状图的结构来呈现规则,用来解决分类和回归问题。 节点:根节点:没有进边,有出边。包含最初的,针…...

聊聊logback的UNDEFINED_PROPERTY

序 本文主要研究一下logback的UNDEFINED_PROPERTY substVars ch/qos/logback/core/util/OptionHelper.java public static String substVars(String input, PropertyContainer pc0, PropertyContainer pc1) {try {return NodeToStringTransformer.substituteVariable(input,…...

记一次pdjs时安装glob出现,npm ERR! code ETARGET和npm ERR! code ELIFECYCLE

如往常一样,我使用pdjs来编译proto文件,但出现了以下报错: 大致就是pdjs的util在尝试执行npm install glob^7.2.1 escodegen^1.13.0时出错了 尝试手动执行安装,escodegen被正确安装,但glob^7.2.1出错 npm ERR! code E…...

Zabbix如何监控腾讯云NAT网关

1、NAT网关介绍 NAT 网关(NAT Gateway)是一种支持 IP 地址转换服务,提供网络地址转换能力,主要包括SNAT(Source Network Address Translation,源网络地址转换)和DNAT(Destination N…...

SpringBoot案例(数据层、业务层、表现层)

1.创建项目 2.选择坐标 3.添加坐标 说明&#xff1a;为了便于开发&#xff0c;引入了lombak坐标。 <!--添加mybatis-plus坐标--><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><ver…...

交叉编译程序:以 freetype 为例

1 程序运行的一些基础知识 1.1 编译程序时去哪找头文件&#xff1f; 系统目录&#xff1a;就是交叉编译工具链里的某个 include 目录&#xff1b;也可以自己指定&#xff1a;编译时用 “ -I dir ” 选项指定。 1.2 链接时去哪找库文件&#xff1f; 系统目录&#…...

spring-cloud-starter-dubbo不设置心跳间隔导致生产者重启no Provider问题记录

版本 spring-cloud-starter-dubbo-2.2.4.RELEASE 问题描述 生产者重启后&#xff0c;正常注册到注册中心&#xff0c;但是消费者调用接口是no provider&#xff0c;偶现&#xff0c;频繁出现 解决办法 先说原因和解决办法&#xff0c;有兴趣可以看下问题的排查过程。 原因…...

【数据结构】败者树的建树与比较过程

文章目录 前置知识归并段 建树过程比较过程疑问为什么比较次数减少了&#xff1f;如果某个归并段的元素一直获胜&#xff0c;没有元素了怎么办&#xff1f;处理方法 1处理方法 2 前置知识 归并段 外部排序算法通常用于处理大规模数据&#xff0c;其中数据量远超过计算机内存的…...

GlobalMapper---dem生成均匀分布的网格,或者均匀分布的点高程点

1打开DEM数据。点击工具栏上的Open Data File(s)按钮&#xff0c;打开DEM数据 2点击【Create Grid】按钮 3生成点 4导出格式xyz 5南方cass展点 6过滤抽稀...

k8s系列文章一:安装指南

前言 k8s是docker的升级版&#xff0c;可用于docker集群配置管理微服务 一、更新ubuntu系统版本 sudo apt update sudo apt upgrade二、添加GPG密钥(阿里源) 尽管我不知道gpg是个什么东西&#xff0c;反正跟着做就完了 curl https://mirrors.aliyun.com/kubernetes/apt/do…...

提升开发体验:LxgwWenKai开源字体效率优化指南

提升开发体验&#xff1a;LxgwWenKai开源字体效率优化指南 【免费下载链接】LxgwWenKai LxgwWenKai: 这是一个开源的中文字体项目&#xff0c;提供了多种版本的字体文件&#xff0c;适用于不同的使用场景&#xff0c;包括屏幕阅读、轻便版、GB规范字形和TC旧字形版。 项目地址…...

突破学术排版瓶颈:mpMath插件的4大技术解决方案

突破学术排版瓶颈&#xff1a;mpMath插件的4大技术解决方案 【免费下载链接】mpMath 项目地址: https://gitcode.com/gh_mirrors/mpma/mpMath 当物理系研究生小林在微信公众号编辑器中第12次尝试插入傅里叶变换公式时&#xff0c;屏幕上依然是一堆错位的希腊字母——这…...

Emotion2Vec+语音情感识别系统:5分钟快速部署,9种情绪一键分析

Emotion2Vec语音情感识别系统&#xff1a;5分钟快速部署&#xff0c;9种情绪一键分析 1. 系统介绍与核心价值 1.1 什么是Emotion2Vec Emotion2Vec是一款基于深度学习的语音情感识别系统&#xff0c;能够自动分析语音中蕴含的情绪状态。这个由科哥二次开发构建的镜像版本&…...

Phi-3-mini-128k-instruct与智能车仿真:生成自然语言控制逻辑与调试报告

Phi-3-mini-128k-instruct与智能车仿真&#xff1a;生成自然语言控制逻辑与调试报告 最近在折腾一个智能车仿真项目&#xff0c;发现一个挺有意思的事儿&#xff1a;让AI来帮忙写控制逻辑和看报告&#xff0c;效率提升了不少。以前我们得手动把“绕过前面那个障碍物&#xff0…...

给STM32密码锁加个“记忆”:手把手教你用CubeMX配置I2C读写EEPROM(AT24C02)

为STM32密码锁赋予持久记忆&#xff1a;CubeMX驱动AT24C02 EEPROM全攻略 当你的密码锁在断电后依然能记住最后一次设置的密码&#xff0c;这种"记忆"能力往往能大幅提升用户体验。本文将带你深入探索如何通过I2C总线连接AT24C02 EEPROM芯片&#xff0c;为基于STM32F1…...

Unity资源引用:FileID+GUID的秘密

两个不起眼的数字,撑起了整个项目的引用大厦 一、开篇:一次差点毁掉项目的"手滑" 周三下午三点。 你的美术同事小王在整理项目文件夹。他觉得Assets目录太乱了——贴图、模型、材质散落在各处,像一个没人收拾的房间。 于是他开始整理: 把 Assets/player_text…...

告别反复插拔SD卡:迪文DGUS II屏串口下载与仿真调试全攻略(附T5L实战技巧)

告别反复插拔SD卡&#xff1a;迪文DGUS II屏串口下载与仿真调试全攻略&#xff08;附T5L实战技巧&#xff09; 在工业控制、智能家居和物联网设备的开发中&#xff0c;迪文DGUS II系列串口屏因其高性价比和强大的组态功能&#xff0c;已成为众多开发者的首选。然而&#xff0c;…...

告别黑盒:手把手教你用GDB调试`ipmitool`源码,亲眼看到RAW数据如何发送

从GDB断点到硬件交互&#xff1a;动态追踪ipmitool RAW命令的全链路实现 在服务器管理领域&#xff0c;IPMI协议如同一位沉默的守护者&#xff0c;通过BMC&#xff08;基板管理控制器&#xff09;提供着硬件级的监控与控制能力。而ipmitool作为最流行的IPMI命令行工具&#xff…...

3个魔法时刻:如何让Switch手柄在PC上获得新生

3个魔法时刻&#xff1a;如何让Switch手柄在PC上获得新生 【免费下载链接】BetterJoy Allows the Nintendo Switch Pro Controller, Joycons and SNES controller to be used with CEMU, Citra, Dolphin, Yuzu and as generic XInput 项目地址: https://gitcode.com/gh_mirro…...

别再只盯着Loss曲线了!TensorBoard的SCALARS面板还有这些隐藏玩法(附GAN训练实战)

解锁TensorBoard SCALARS面板的隐藏战力&#xff1a;从GAN训练曲线中洞察模型灵魂 当你盯着GAN训练中那对纠缠不清的生成器和判别器Loss曲线时&#xff0c;是否感觉像在解读一部悬疑小说&#xff1f;TensorBoard的SCALARS面板远比大多数开发者想象的强大——它不仅是数据的展示…...