Nginx搭载负载均衡及前端项目部署

news2024/12/1 0:41:38

目录

​编辑

一.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重新启动刷新一下 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1159355.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

你还不会下载网页上的视频嘛???(超级简单!!)

小伙伴们大家好,废话不多说,直接上干货: F12进入开发者页面 然后F5刷新一下 右键,在新的页面打开 就会看到一个单独的视频网页,右键另存为就好啦

Redis入门02-基础概念

目录 常用的简单操作命令 Redis字符串中的SDS Redis事务 Key的过期时间 Redis实现缓存简单示例 常用的简单操作命令 Redis提供了多种数据类型,包括字符串(String)、哈希(Hash)、列表(List&#xff09…

Spring系列之基础

目录 Spring概述 Spring的优点 Spring Framework的组成 总结 Spring概述 Spring 是目前主流的 Java Web 开发框架,是 Java 世界最为成功的框架。该框架是一个轻量级的开源框架,具有很高的凝聚力和吸引力。它以Ioc(控制反转)和…

GAMP源码阅读:RINEX文件读取

原始 Markdown文档、Visio流程图、XMind思维导图见:https://github.com/LiZhengXiao99/Navigation-Learning 文章目录 1、readobsnav():Rinex 文件读取主入口函数2、readrnxfile():传入文件路径,读取起止时间内数据4、readrnxfp()…

“原生感”暴涨311%,这届年轻人不再爱浓妆?丨小红书数据分析

近年来,越来越多美妆博主在社交媒体平台安利“原生感妆容”,即我们所熟知的“伪素颜妆”、“裸妆”、“白开水妆”,显然,追求“原生感”成为当代妆容主流。通过小红书数据分析工具,查看#原生感妆容 话题,近…

一位69岁美国老程序员的自述:使用Delphi开发了一款软件仅仅销售了半年赚够钱就退休了

我不确定谁会感兴趣,但你是点击按钮的那个人......所以我就说了。 我是一名 69 岁(截至 2008 年)的退休程序员(译者注:Delphi社区的一位网友说本文主人公已经在前几年去世,但是主人公的网站依然还能访问Del…

Mojo::UserAgent模块做的一个快速爬虫项目

use Mojo::UserAgent;my $ua Mojo::UserAgent->new; my $proxy duoip:8000;# 使用爬虫IP $ua->proxy(http, $proxy) # 设置http爬虫IP->proxy(https, $proxy); # 设置https爬虫IPmy $res $ua->get(音乐网址); if ($res->is_success) {print $res->body; …

让企业的数据用起来,数据中台=数据治理?

加gzh“大数据食铁兽”,了解更多数据治理信息。 先说结论:数据中台是数据管理/治理的工具之一,数据治理是3分技术7分管理及运营。 数据中台的定义: 狭义的数据中台指在企业内部通过对数据半成品、算法、模型、工具等能力的积累&a…

apk反编译修改教程系列---简单去除apk联网权限 其他权限 无法自动更新等【四】

往期教程: apk反编译修改教程系列-----修改apk应用名称 任意修改名称 签名【一】 apk反编译修改教程系列-----任意修改apk版本号 版本名 防止自动更新【二】 apk反编译修改教程系列-----修改apk中的图片 任意更换apk桌面图片【三】 目前基本所有的apk都有联网设…

蚂蚁蚁盾发布实体产业「知识交互建模引擎」,最快10分钟定制AI风控模型

数字化起步晚、数据分散稀疏、专业壁垒高、行业知识依赖「老师傅」,是很多传统产业智能化发展面临的难题。2023年云栖大会上,蚂蚁集团安全科技品牌蚁盾发布“知识交互建模引擎”,将实体产业知识与AI模型有机结合,助力企业最快10分…

【C++】类的默认成员函数----const成员函数(超详细解析)

目录 一、前言 二、const成员函数 🍎const修饰类的成员函数 💦问题1 💦问题2 💦针对const成员函数的常考面试题(重点!!) 🍐取地址及const取地址操作符重载 三…

可靠的互联网兼职平台,平常可以做副业充实生活

在互联网时代,越来越多的人开始通过网络来寻找兼职副业的机会,能够更灵活地安排自己的时间,实现自己的收入增值。那么找到一个正规可靠的线上兼职平台就是一个比较重要的事情,这里分享几个正规靠谱的线上兼职副业平台,…

生物信息学 | 借助 AI 更高效地开启研究

生物信息学 (Bioinformatics) 是指利用应用数学、信息学、统计学和计算机科学的方法,研究生物学问题。 随着计算机科学技术的发展,AI 在解决复杂又颇具挑战的生物学研究问题方面,显露出极大的优势,进一步加速了传统研究范式的转变…

京东h5st逆向 h5st代码之拓展

知识点 node安装模块 crypto-js JavaScript 中的加密库 则更偏向于消息摘要算法、对称加密和简单的哈希函数,支持 AES、DES、SHA-1、HMAC 等诸多算法,适用于对客户端本地存储的数据进行加密、散列或签名处理等场景 axios 一旦安装成功,我们就…

uniapp原生插件之视频图片选择安卓原生插件

插件介绍 本地相册图片和视频多选Android扩展原生插件 插件地址 视频图片选择安卓原生插件 - DCloud 插件市场 超级福利 uniapp 插件购买超级福利 插件申请权限 存储卡读写权限 manifest.json权限列表 /* android打包配置 */"android" : {"permission…

python和java区别

1.java需要javac编译为.class文件,用java运行,定义的类需要与文件名相同;python能直接运行;不过,现在java的jdk中能直接使用java直接运行.java文件了! 2. java声明变量数据类型,使用int a 8&am…

k8s调度约束

List-Watch Kubernetes 是通过 List-Watch的机制进行每个组件的协作,保持数据同步的,每个组件之间的设计实现了解耦。 List-Watch机制 工作机制:用户通过 kubectl请求给 APIServer 来建立一个 Pod。APIServer会将Pod相关元信息存入 etcd 中…

Jetson NX FFmpeg硬件编解码实现

最近在用Jetson Xavier NX板子做视频处理,但是CPU进行视频编解码,效率比较地下。 于是便考虑用硬解码来对视频进行处理。 通过jtop查看,发现板子是支持 NVENC硬件编解码的。 1、下载源码 因为需要对ffmpeg进行打补丁修改,因此需要编译两份源码 1.1、编译jetson-ffmpeg …

Polygon MidenVM中的recursive STARK verification优化

1. 引言 本文主要参考Bobbin Threadbare 2023年9月在ZK Summit 10上的分享 ZK10: Optimizing recursive STARK verification in Polygon Miden VM - Bobbin Threadbare。 本文基本内容框架为: STARK递归方法Miden需求及目标递归verifier开销Miden VM优化措施结果…

YOLOv7优化:独家创新(SC_C_Detect)检测头结构创新,实现涨点 | 检测头新颖创新系列

💡💡💡本文独家改进:独家创新(SC_C_Detect)检测头结构创新,适合科研创新度十足,强烈推荐 SC_C_Detect | 亲测在多个数据集能够实现大幅涨点 收录: YOLOv7高阶自研专栏介绍: http://t.csdnimg.cn/tYI0c ✨✨✨前沿最新计算机顶会复现 🚀🚀🚀YOLOv7自研…