Nginx搭载负载均衡及前端项目部署
目录
编辑
一.Nginx安装
1.安装所需依赖
2.下载并解压Nginx安装包
3.安装nginx
4.启动Nginx服务
二.Tomcat负载均衡
1.准备环境
1.1 准备两个Tomcat
1.2 修改端口号
1.3 配置Nginx服务器集群
2.效果展示
编辑三.前端项目打包
编辑四.前端项目部署
1.上传项目
2.修改代理服务器
3. 配置域名
一.Nginx安装
1.安装所需依赖
yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel
2.下载并解压Nginx安装包
wget http://nginx.org/download/nginx-1.13.7.tar.gz
tar -xvf nginx-1.13.7.tar.gz
3.安装nginx
进入到/usr/local/nginx/sbin目录
cd /usr/local/nginx/sbin
编译,执行配置: 考虑到后续安装ssl证书 添加两个模块
./configure --with-http_stub_status_module --with-http_ssl_module
安装make模块
make && make install
4.启动Nginx服务
进入 /usr/local/nginx/sbin 目录下(服务安装在当前目录下)
cd /usr/local/nginx/sbin
安装lsof模块
yum install lsof
启动服务
./nginx
重启服务
./nginx -s reload
关闭服务
./nginx -s stop
开启防火墙端口号
firewall-cmd --zone=public --add-port=80/tcp --permanent
刷新防火墙规则
firewall-cmd --reload
开启服务后,在浏览器中输入自己的ip地址+:80出现以下截图说明安装成功

二.Tomcat负载均衡

1.准备环境
1.1 准备两个Tomcat
先进入到我们的Tomcat的上一级目录然后执行以下命令
cp -r apache-tomcat-8.5.20/ apache-tomcat-8.5.20_8081/
1.2 修改端口号
进入到配置文件夹中的中
cd apache-tomcat-8.5.20_8081/conf
修改配置文件中的端口号
vim server.xml
将当前的Tomcat配置文件中的端口号全部加一,防止与原来的端口号发生冲突
进入到配置文件后点击insert进行修改

修改完成后点击Esc,输入:wq保存并退出
1.3 配置Nginx服务器集群
在/usr/local/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是权重的意思,权重越大,分配的概率越大
}
location / {
#root html;
proxy_pass http://tomcat_list;
index index.html index.htm;
}

配置完成之后要将Nginx重新加载
./nginx -s reload
2.效果展示
为了展示效果Nginx同时负载两个Tomcat,将8081端口号的Tomcat界面进行更改
当我们对前端Nginx运行页面进行刷新时,因为同时负载两个Tomcat所以刷新时会根据权重来展示两个tomcat页面的的概率
三.前端项目打包
进入到前端项目的根目录利用cmd窗口执行以下命令
npm run build
打包完成后会在我们的当前项目目录下有一个dist文件夹,这就是我们打包好的项目

当我们的node环境运行时,点击这个静态网页也可以进入到我们的前端页面
四.前端项目部署
1.上传项目
在/usr/local/nginx/conf/目录下新建一个文件夹存放项目
mkdir mypro
然后将项目拷贝到当前文件夹中
下载unzip命令解压zip文件
yum install -y unzip
进入到当前存放项目的文件夹然后进行解压
cd mypro
unzip blog.zip
2.修改代理服务器
添加新代理
location ^~/api/ {
proxy_pass http://tomcat_list/;
}
将路径修改为自己前端项目路径
location / {
root /user/local/mypro/dist;
#proxy_pass http://tomcat_list;
index index.html index.htm;
}
3. 配置域名
修改当前文件目录下的hosts文件
C:\Windows\System32\drivers\etc
在hosts文件中编写自己的ip地址和域名,这样就可以在本机通过域名去访问自己的项目了

修改完成之后,要将ngnix重新启动刷新一下

相关文章:
Nginx搭载负载均衡及前端项目部署
目录 编辑 一.Nginx安装 1.安装所需依赖 2.下载并解压Nginx安装包 3.安装nginx 4.启动Nginx服务 二.Tomcat负载均衡 1.准备环境 1.1 准备两个Tomcat 1.2 修改端口号 1.3 配置Nginx服务器集群 2.效果展示 编辑三.前端项目打包 编辑四.前端项目部署 1.上传项目…...
深度学习——炼丹
学习率调整策略 自定义学习率调整策略 简单版 net MyNet()optimoptim.Adam(net.parameters(),lr0.05) for param_group in optim.param_groups: param_group["lr"] param_group["lr"]*0.5print(param_group["lr"]) #0.25复杂版&#…...
Matlab中的app设计
1.窗口焦点问题: 窗口焦点问题:确保你的应用程序窗口正常处于焦点状态。有时,其他窗口的弹出或焦点切换可能导致应用程序最小化。点击应用程序窗口以确保它处于焦点状态。 窗口管理:确保你的 MATLAB 或操作系统没有未处理的错误或…...
曾经遇到过的无法解释的问题
因为不能直接展示生产数据与生产数据结构,所以写一个简单的例子 class Stu{ private String name; private int age; getter setter constructor 略 } List<Stu> list new ArrayList(); list.add(new Stu("s1",16)); list.add(new Stu("…...
基于uniapp与uview做一个按拼音首字母排序的通讯录页面
效果图: 第一步导入pinyin库并应用,用于区分汉字的拼音首字母 npm i pinyin import pinyin from "pinyin" 完整算法: function getListByPinyinFirstLetter(data) {const newList {};for (const item of data) {let firstLett…...
网络工程师-入门基础课:华为HCIA认证课程介绍
【微/信/公/众/号:厦门微思网络】 华为HCIA试听课程:超级实用,华为VRP系统文件详解 华为HCIA试听课程:不会传输层协议,HCIA都考不过 华为HCIA试听课程:网络工程师的基本功:网络地址转换NAT 一…...
玻色量子成功研制光量子计算专用光纤恒温控制设备——“量晷”
近日,北京玻色量子科技有限公司(以下简称“玻色量子”)成功研制出一款高精度量子计算专用光纤恒温控制设备——“量晷”,该设备能将光纤的温度变化稳定在千分之一摄氏度量级,即能够做到0.001C的温度稳定维持…...
力扣:147. 对链表进行插入排序(Python3)
题目: 给定单个链表的头 head ,使用 插入排序 对链表进行排序,并返回 排序后链表的头 。 插入排序 算法的步骤: 插入排序是迭代的,每次只移动一个元素,直到所有元素可以形成一个有序的输出列表。每次迭代中,…...
OpenCV4(C++)——形态学(腐蚀、膨胀)
文章目录 一、腐蚀(erode)二、膨胀(dilate)三、形态学操作四、总结 一、腐蚀(erode) OpenCV 4提供了用于图像腐蚀的erode()函数。 void cv::erode(src, dst, kernel, anchor, iterations, borderType, bo…...
C++设计模式_24_Visitor 访问器
Visitor 访问器也是属于“行为变化”模式。 文章目录 1. 动机( Motivation)2. 代码演示Visitor 访问器3. 模式定义4. 结构(Structure)5. 要点总结6. 其他参考1. 动机( Motivation) 在软件构建过程中,由于需求的改变,某些类层次结构中常常需要增加新的行为(方法),如果直接在基…...
el-tabel表格加个多选框
<template><div><el-checkbox v-model"checked" :disabled"checkedDis" change"onAllSelectChange">多选框</el-checkbox>点击多选框,禁用列表复选框<el-table ref"multipleTable" :data"…...
Go语言集成开发环境(IDE):GoLand 2023中文
GoLand 2023是一款由JetBrains开发的现代化、功能丰富的Go语言集成开发环境(IDE)。它提供了智能代码提示和自动完成、强大的内置调试器以及代码重构工具,帮助开发者提高编码效率并确保代码质量。GoLand 2023还支持多种版本控制系统࿰…...
opencv c++ canny 实现 以及与halcon canny的对比
Opencv和C实现canny边缘检测_opencv边缘增强-CSDN博客 一、canny实现步骤 1、图像必须是单通道的,也就是说必须是灰度图像 2、图像进行高斯滤波,去掉噪点 3、sobel 算子过程的实现,计算x y方向 、梯度(用不到,但是…...
阿里云无影升级2.0 云电脑解决方案时代到来
10月31日,杭州云栖大会上,阿里云宣布无影全新升级2.0:从云电脑到云上解决方案,帮助中小企业更便捷地构建云上办公,并开放无影产品及解决方案能力,为生态合作伙伴提供企业云平台,帮助其打造定制化…...
【案例展示】多物理场仿真软件介绍
本期案例来自上海交通大学微波与射频研究中心团队,团队针对集成电路技术发展过程中面临的挑战,通过FastCAE平台对自研多物理场仿真求解器进行功能拓展与集成,使用户可基于不同的电、热、应力场景和仿真需求,灵活设定参数进行快速准…...
k8s的RBAC中,clusterrole, rolebinding 是什么关系谁先谁后
在Kubernetes中,Role-Based Access Control(RBAC)用于控制集群中不同用户、服务账号或组的访问权限。ClusterRole 和 RoleBinding 是两个关键的 RBAC 组件,它们之间的关系是 ClusterRole 定义了一组权限规则,而 RoleBi…...
myabtis流式查询
1、流式查询简介 流式处理在大数据方面应用比较广泛。随着数据的爆发式增长,流式处理的方式也被应用到日常的工具中,如JDK的对于集合处理的Stream流、Redis5.0新增的数据结构Stream专门来处理消息等。 流式查询指的是查询成功后不是返回一个集合而是返回…...
K8S的pod创建过程
创建流程图 用户发起请求创建deployment;apiserver收到创建资源的请求,apiserver对客户端操作进行身份认证,认证完成后接受该请求,并把相关的信息保存到etcd中,然后返回确认信息给客户端;apiserver向etcd…...
java修仙传之海岛奇遇
昨日开会, 商量了一下接口返回数据, 要求统一, 之前也同意,直接抛异常, 现在觉得之前那个异常不好, 看着不美观,对客户不友好 要求重新做。 大概要求如下: 要求1:范…...
电子商务平台对接电商供应链,不得不说的开放平台电商API接口
B2B电商开放平台的设计需要从以下几面去思考: 开放平台API接口的设计,主要是从功能需求的角度,设计满足业务需求的接口及对应的字段; 平台与商家之间信息的对接,对接的方法有哪些?对接过程中需要可能会遇到…...
破解Windows浏览器重定向限制:EdgeDeflector技术原理与实践指南
破解Windows浏览器重定向限制:EdgeDeflector技术原理与实践指南 【免费下载链接】EdgeDeflector A tiny helper application to force Windows 10 to use your preferred web browser instead of ignoring the setting to promote Microsoft Edge. Only runs for a …...
Rainmeter桌面定制工具入门指南:从混乱到高效的桌面改造计划
Rainmeter桌面定制工具入门指南:从混乱到高效的桌面改造计划 【免费下载链接】rainmeter Desktop customization tool for Windows 项目地址: https://gitcode.com/gh_mirrors/ra/rainmeter 为什么你的桌面总是杂乱无章?工作时需要在堆满图标的屏…...
Claude Code 源码泄露:51 万行代码暴露了 AI Agent 的完整设计哲学
点击上方 前端Q,关注公众号回复加群,加入前端Q技术交流群一个被误打进 npm 包的 Source Map,把 Anthropic 最核心的 AI 编程助手扒了个底朝天。我花了两天翻这堆代码,发现里面藏着的 Agent 工程经验,比我读过的大部分架…...
从创意到图像:Fooocus如何让AI绘画变得简单高效
从创意到图像:Fooocus如何让AI绘画变得简单高效 【免费下载链接】Fooocus Focus on prompting and generating 项目地址: https://gitcode.com/GitHub_Trending/fo/Fooocus 在AI图像生成领域,许多工具要求用户掌握复杂的参数调整和专业技术知识&a…...
PyTorch 2.9镜像场景应用:快速搭建AI实验环境,支持从实验到部署
PyTorch 2.9镜像场景应用:快速搭建AI实验环境,支持从实验到部署 1. 为什么选择PyTorch 2.9镜像 深度学习研究者和工程师经常面临一个共同挑战:如何快速搭建一个稳定、高效的AI开发环境。传统方式需要手动安装CUDA驱动、配置Python环境、解决…...
3步彻底解决显卡驱动残留:Display Driver Uninstaller深度应用指南
3步彻底解决显卡驱动残留:Display Driver Uninstaller深度应用指南 【免费下载链接】display-drivers-uninstaller Display Driver Uninstaller (DDU) a driver removal utility / cleaner utility 项目地址: https://gitcode.com/gh_mirrors/di/display-drivers-…...
重新定义内容采集:抖音下载器的架构哲学与实践路径
重新定义内容采集:抖音下载器的架构哲学与实践路径 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser fallback support.…...
BEYOND REALITY Z-Image应用案例:电商人像、社交配图一键生成攻略
BEYOND REALITY Z-Image应用案例:电商人像、社交配图一键生成攻略 1. 为什么选择BEYOND REALITY Z-Image 在电商和社交媒体领域,高质量的人像图片需求量大但制作成本高。传统摄影需要模特、化妆师、摄影师和后期团队配合,单张图片成本可能高…...
RTL8852BE Wi-Fi 6驱动实战指南:从部署到优化的全方位解决方案
RTL8852BE Wi-Fi 6驱动实战指南:从部署到优化的全方位解决方案 【免费下载链接】rtl8852be Realtek Linux WLAN Driver for RTL8852BE 项目地址: https://gitcode.com/gh_mirrors/rt/rtl8852be 技术痛点分析:Wi-Fi 6驱动在Linux环境中的挑战 学习…...
Autosar最小系统搭建避坑指南:从Det到BswM,那些容易忽略的模块依赖与自动修复技巧
Autosar最小系统搭建避坑指南:从Det到BswM,那些容易忽略的模块依赖与自动修复技巧 在Autosar工程实践中,搭建最小系统往往是开发者面临的第一个实质性挑战。不同于简单的"Hello World"式验证,一个真正可运行的Autosar最…...

