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

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 或操作系统没有未处理的错误或…...

曾经遇到过的无法解释的问题

因为不能直接展示生产数据与生产数据结构&#xff0c;所以写一个简单的例子 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做一个按拼音首字母排序的通讯录页面

效果图&#xff1a; 第一步导入pinyin库并应用&#xff0c;用于区分汉字的拼音首字母 npm i pinyin import pinyin from "pinyin" 完整算法&#xff1a; function getListByPinyinFirstLetter(data) {const newList {};for (const item of data) {let firstLett…...

网络工程师-入门基础课:华为HCIA认证课程介绍

【微/信/公/众/号&#xff1a;厦门微思网络】 华为HCIA试听课程&#xff1a;超级实用&#xff0c;华为VRP系统文件详解 华为HCIA试听课程&#xff1a;不会传输层协议&#xff0c;HCIA都考不过 华为HCIA试听课程&#xff1a;网络工程师的基本功&#xff1a;网络地址转换NAT 一…...

玻色量子成功研制光量子计算专用光纤恒温控制设备——“量晷”

​近日&#xff0c;北京玻色量子科技有限公司&#xff08;以下简称“玻色量子”&#xff09;成功研制出一款高精度量子计算专用光纤恒温控制设备——“量晷”&#xff0c;该设备能将光纤的温度变化稳定在千分之一摄氏度量级&#xff0c;即能够做到0.001C的温度稳定维持&#xf…...

力扣:147. 对链表进行插入排序(Python3)

题目&#xff1a; 给定单个链表的头 head &#xff0c;使用 插入排序 对链表进行排序&#xff0c;并返回 排序后链表的头 。 插入排序 算法的步骤: 插入排序是迭代的&#xff0c;每次只移动一个元素&#xff0c;直到所有元素可以形成一个有序的输出列表。每次迭代中&#xff0c…...

OpenCV4(C++)——形态学(腐蚀、膨胀)

文章目录 一、腐蚀&#xff08;erode&#xff09;二、膨胀&#xff08;dilate&#xff09;三、形态学操作四、总结 一、腐蚀&#xff08;erode&#xff09; 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>点击多选框&#xff0c;禁用列表复选框<el-table ref"multipleTable" :data"…...

Go语言集成开发环境(IDE):GoLand 2023中文

GoLand 2023是一款由JetBrains开发的现代化、功能丰富的Go语言集成开发环境&#xff08;IDE&#xff09;。它提供了智能代码提示和自动完成、强大的内置调试器以及代码重构工具&#xff0c;帮助开发者提高编码效率并确保代码质量。GoLand 2023还支持多种版本控制系统&#xff0…...

opencv c++ canny 实现 以及与halcon canny的对比

Opencv和C实现canny边缘检测_opencv边缘增强-CSDN博客 一、canny实现步骤 1、图像必须是单通道的&#xff0c;也就是说必须是灰度图像 2、图像进行高斯滤波&#xff0c;去掉噪点 3、sobel 算子过程的实现&#xff0c;计算x y方向 、梯度&#xff08;用不到&#xff0c;但是…...

阿里云无影升级2.0 云电脑解决方案时代到来

10月31日&#xff0c;杭州云栖大会上&#xff0c;阿里云宣布无影全新升级2.0&#xff1a;从云电脑到云上解决方案&#xff0c;帮助中小企业更便捷地构建云上办公&#xff0c;并开放无影产品及解决方案能力&#xff0c;为生态合作伙伴提供企业云平台&#xff0c;帮助其打造定制化…...

【案例展示】多物理场仿真软件介绍

本期案例来自上海交通大学微波与射频研究中心团队&#xff0c;团队针对集成电路技术发展过程中面临的挑战&#xff0c;通过FastCAE平台对自研多物理场仿真求解器进行功能拓展与集成&#xff0c;使用户可基于不同的电、热、应力场景和仿真需求&#xff0c;灵活设定参数进行快速准…...

k8s的RBAC中,clusterrole, rolebinding 是什么关系谁先谁后

在Kubernetes中&#xff0c;Role-Based Access Control&#xff08;RBAC&#xff09;用于控制集群中不同用户、服务账号或组的访问权限。ClusterRole 和 RoleBinding 是两个关键的 RBAC 组件&#xff0c;它们之间的关系是 ClusterRole 定义了一组权限规则&#xff0c;而 RoleBi…...

myabtis流式查询

1、流式查询简介 流式处理在大数据方面应用比较广泛。随着数据的爆发式增长&#xff0c;流式处理的方式也被应用到日常的工具中&#xff0c;如JDK的对于集合处理的Stream流、Redis5.0新增的数据结构Stream专门来处理消息等。 流式查询指的是查询成功后不是返回一个集合而是返回…...

K8S的pod创建过程

创建流程图 用户发起请求创建deployment&#xff1b;apiserver收到创建资源的请求&#xff0c;apiserver对客户端操作进行身份认证&#xff0c;认证完成后接受该请求&#xff0c;并把相关的信息保存到etcd中&#xff0c;然后返回确认信息给客户端&#xff1b;apiserver向etcd…...

java修仙传之海岛奇遇

昨日开会&#xff0c; 商量了一下接口返回数据&#xff0c; 要求统一&#xff0c; 之前也同意&#xff0c;直接抛异常&#xff0c; 现在觉得之前那个异常不好&#xff0c; 看着不美观&#xff0c;对客户不友好 要求重新做。 大概要求如下&#xff1a; 要求1&#xff1a;范…...

电子商务平台对接电商供应链,不得不说的开放平台电商API接口

B2B电商开放平台的设计需要从以下几面去思考&#xff1a; 开放平台API接口的设计&#xff0c;主要是从功能需求的角度&#xff0c;设计满足业务需求的接口及对应的字段&#xff1b; 平台与商家之间信息的对接&#xff0c;对接的方法有哪些&#xff1f;对接过程中需要可能会遇到…...

大数据学习栈记——Neo4j的安装与使用

本文介绍图数据库Neofj的安装与使用&#xff0c;操作系统&#xff1a;Ubuntu24.04&#xff0c;Neofj版本&#xff1a;2025.04.0。 Apt安装 Neofj可以进行官网安装&#xff1a;Neo4j Deployment Center - Graph Database & Analytics 我这里安装是添加软件源的方法 最新版…...

从深圳崛起的“机器之眼”:赴港乐动机器人的万亿赛道赶考路

进入2025年以来&#xff0c;尽管围绕人形机器人、具身智能等机器人赛道的质疑声不断&#xff0c;但全球市场热度依然高涨&#xff0c;入局者持续增加。 以国内市场为例&#xff0c;天眼查专业版数据显示&#xff0c;截至5月底&#xff0c;我国现存在业、存续状态的机器人相关企…...

Golang dig框架与GraphQL的完美结合

将 Go 的 Dig 依赖注入框架与 GraphQL 结合使用&#xff0c;可以显著提升应用程序的可维护性、可测试性以及灵活性。 Dig 是一个强大的依赖注入容器&#xff0c;能够帮助开发者更好地管理复杂的依赖关系&#xff0c;而 GraphQL 则是一种用于 API 的查询语言&#xff0c;能够提…...

el-switch文字内置

el-switch文字内置 效果 vue <div style"color:#ffffff;font-size:14px;float:left;margin-bottom:5px;margin-right:5px;">自动加载</div> <el-switch v-model"value" active-color"#3E99FB" inactive-color"#DCDFE6"…...

什么是EULA和DPA

文章目录 EULA&#xff08;End User License Agreement&#xff09;DPA&#xff08;Data Protection Agreement&#xff09;一、定义与背景二、核心内容三、法律效力与责任四、实际应用与意义 EULA&#xff08;End User License Agreement&#xff09; 定义&#xff1a; EULA即…...

Java线上CPU飙高问题排查全指南

一、引言 在Java应用的线上运行环境中&#xff0c;CPU飙高是一个常见且棘手的性能问题。当系统出现CPU飙高时&#xff0c;通常会导致应用响应缓慢&#xff0c;甚至服务不可用&#xff0c;严重影响用户体验和业务运行。因此&#xff0c;掌握一套科学有效的CPU飙高问题排查方法&…...

回溯算法学习

一、电话号码的字母组合 import java.util.ArrayList; import java.util.List;import javax.management.loading.PrivateClassLoader;public class letterCombinations {private static final String[] KEYPAD {"", //0"", //1"abc", //2"…...

【Linux系统】Linux环境变量:系统配置的隐形指挥官

。# Linux系列 文章目录 前言一、环境变量的概念二、常见的环境变量三、环境变量特点及其相关指令3.1 环境变量的全局性3.2、环境变量的生命周期 四、环境变量的组织方式五、C语言对环境变量的操作5.1 设置环境变量&#xff1a;setenv5.2 删除环境变量:unsetenv5.3 遍历所有环境…...

Qt 事件处理中 return 的深入解析

Qt 事件处理中 return 的深入解析 在 Qt 事件处理中&#xff0c;return 语句的使用是另一个关键概念&#xff0c;它与 event->accept()/event->ignore() 密切相关但作用不同。让我们详细分析一下它们之间的关系和工作原理。 核心区别&#xff1a;不同层级的事件处理 方…...

【Veristand】Veristand环境安装教程-Linux RT / Windows

首先声明&#xff0c;此教程是针对Simulink编译模型并导入Veristand中编写的&#xff0c;同时需要注意的是老用户编译可能用的是Veristand Model Framework&#xff0c;那个是历史版本&#xff0c;且NI不会再维护&#xff0c;新版本编译支持为VeriStand Model Generation Suppo…...