【Linux】部署前后端分离项目---(Nginx自启,负载均衡)

目录

前言

一 Nginx(自启动)

2.1 Nginx的安装

2.2 设置自启动Nginx

二 Nginx负载均衡tomcat

2.1 准备两个tomcat

2.1.1 复制tomcat

2.1.2 修改server.xml文件

2.1.3 开放端口

2.2 Nginx配置

2.2.1 修改nginx.conf文件

 2.2.2 重启Nginx服务

2.2.3 测试Nginx得结论

三 后端

3.1 将war包放置webapps下

3.2 导入SQL脚本

3.3 测试后端

四 前端

4.1 创建文件夹存储前端

4.2 解压前端 

4.3 修改nginx.conf

 4.4 配置映射关系

4.5 访问项目


前言

前一篇文章我们学习了部署单机项目其中包括了jdk,tomcat,mysql的安装,这一篇文章小编就不带大家进行安装了,直接从安装Nginx开始

上一篇文章:http://t.csdnimg.cn/UsK2P

一 Nginx(自启动)

前言:

Nginx作用图

从上图可以看出,让nginx负载多个tomcat从而访问数据库,这样能让更加的安全,如果一个服务器宕机了,还能使用另外一个服务器进行访问

2.1 Nginx的安装

先将Nginx的安装包放置到Linux中

1)下载并解压安装包
下载命令:wget http://nginx.org/download/nginx-1.13.7.tar.gz    (有了可不需要)
解压命令:tar -xvf nginx-1.13.7.tar.gz  (如下)

解压后:

2)一键安装4个依赖

命令执行:yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel

3)安装nginx
# 先进入安装包目录
命令:cd nginx-1.13.7  (安装包名根据自己的来)


# 编译,执行配置: 考虑到后续安装ssl证书 添加两个模块
命令:   ./configure --with-http_stub_status_module --with-http_ssl_module

4) 安装
命令:make && make install

5)启动 nginx 服务
安装好的 nginx 服务在 /usr/local/nginx/sbin 下

cd /usr/local/nginx/sbin
# 启动
命令:  ./nginx

虽然已经启动了,但我们也不知道到底启动成功没有。

6)#下载插件
yum install lsof

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

8) 设置防火墙开放 80 端口
 firewall-cmd --zone=public --add-port=80/tcp --permanent

9) 跟新防火墙规则
firewall-cmd --reload

10) 查看开放端口号
 firewall-cmd --reload && firewall-cmd --list-port

最后网址填写虚拟机地址访问Nginx

访问成功!

借鉴命令 可不操作

# 重启
./nginx -s reload
 
# 关闭
./nginx -s stop
 
# 或者,指定配置文件启动
./nginx -c /usr/local/nginx/conf/nginx.conf

2.2 设置自启动Nginx

先编辑etc下的rc.d/rc.local文件,点击i键处于编辑状态

1   vi /etc/rc.d/rc.local

再将nginx的启动命令位置复制上去,点击ESC,输入:wq保存并推出

2   /usr/local/nginx/sbin/nginx

 3 修改完成之后,返回它的上一层目录rc.d   命令:../


4 进行给rc.local文件赋予权限: chmod 755 rc.local

二 Nginx负载均衡tomcat

让Nginx负载两个tomcat,后面我们用两个tomcat访问项目

2.1 准备两个tomcat

2.1.1 复制tomcat

①  先复制一个tomcat后缀名改名8081的,就知道这是一第二个tomcat

cp -r apache-tomcat-8.5.20/ apache-tomcat-8.5.20-8081/

2.1.2 修改server.xml文件

进入根目下的server.xml文件,修改该tomcat的端口

处于tomcat目录中下使用下方命令  

命令:vi conf/server.xml   

按ESC键,输入:wq 保存并退出

2.1.3 开放端口

③ 开放8081端口
firewall-cmd --zone=public --add-port=8081/tcp --permanent
#跟新防火墙规则
firewall-cmd --reload
#防火墙列表
firewall-cmd --zone=public --list-ports

2.2 Nginx配置

2.2.1 修改nginx.conf文件

前面我们安装了Nginx,它会在我们的系统中自动生产nginx文件

左侧输入/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=1; #服务器2   weight是权重的意思,权重越大,分配的概率越大

② 

注释一行 添加proxy_pass   http://tomcat_list;

保存按Ctrl+s,点击Yes即可

 2.2.2 重启Nginx服务

再输入systemct restart nginx重启Nginx服务,让配置生效

或者进入 /usr/local/nfinx/sbin 目录下重启

./nginx -s reload

2.2.3 测试Nginx得结论

浏览器输入IP地址加上:8080/8081,进行切换测试

如果不加:8080/8081,默认也会访问其中一个端口,将其中一个tomcat停掉,也能进行访问服务器,直到被人攻击宕机或其它原因才会无法访问服务器

三 后端

3.1 将war包放置webapps下

① 第一个tomcat8080

② 第二个tomcat8081 

3.2 导入SQL脚本

连接服务器,连接MySQL并导入相关的脚本

3.3 测试后端

进行测试后端

8080端口访问服务器结果:

8081访问服务器结果:

四 前端

4.1 创建文件夹存储前端

  1. [root@localhost local]# mkdir mypro    

  2. [root@localhost local]# cd mypro/

4.2 解压前端 

解压要使用unzip命令,要下载,输入:

yum install -y unzip

再进行解压:         所要解压的前端包名根据自己的来

unzip blog.zip

解压之后,会有一个dist文件,复制该dist路径

4.3 修改nginx.conf

重新进入nginc.conf文件中进行修改,

/usr/local/nginx/conf双击nginx.conf

① server_name  www.zking.com; #当前服务的域名(虚拟域名也可以)
 root         /usr/local/mypro/dist;      #将要访问的网站的根目录,nginx节点会自动继承父节点的配置;这里放到/usr/local/*,放到其他路径下会有权限相关问题;必要的时候配置Nginx.conf的user为root
② # 代理配置
    location / {
            #该句代码是为解决history路由不能跳转的问题,在vue-router官网有介绍 
        try_files $uri $uri/  /index.html;
    }
    location  ^~/api/ {
        #^~/api/表示匹配前缀是api的请求,proxy_pass的结尾有/, 则会把/api/*后面的路径直接拼接到后面,即移除api
        proxy_pass http://tomcat_list/;
    }

 4.4 配置映射关系

主机Ctrl+r,输入C:\Windows\System32\drivers\etc,编辑hosts中增加映射关系

虚拟机地址+映射地址如:192.168.244.141 www.zking.com 

如下图

以管理员身份打开命令提示符或PowerShell

如果无法编辑该hosts文件,是权限不够

解决办法:

①管理员运行终端

按下Win + X组合键,然后选择“终端管理员”或“Windows PowerShell(管理员)”。

再进入C:\Windows\System32\drivers\etc

② 更改文件的所有权

使用takeown命令将文件的所有权更改为当前用户。例如,要将hosts文件的所有权更改为当前用户,可以运行以下命令:

takeown /f "C:\Windows\System32\drivers\etc\hosts"

③ 更改文件的权限

使用icacls命令来更改文件的权限,给予当前用户完全控制权限。例如:

icacls "C:\Windows\System32\drivers\etc\hosts" /grant 用户名:F

用户名替换为你的Windows用户名

不知道用户名的话,ctrl+r输入cmd进入终端

再输入命令echo %username%,获得用户名

解决之后再去编辑hosts文件,配置我们的映射关系 Ctrl+s保存

4.5 访问项目

如下的动态图,当我关掉一个8081的端口,我也能进行访问项目

不关掉两个端口的话,都可以进行访问我们的项目

 

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

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

相关文章

力扣● 343. 整数拆分 ● 96.不同的二叉搜索树

● 343. 整数拆分 想不到,要勇于看题解。 关键在于理解递推公式。 1、DP数组及其下标的含义:dp[i]是分解i这个数得到的最大的乘积。 2、DP数组如何初始化:dp[0]和dp[1]都没意义,所以直接不赋值,初始化dp[2]1即可。…

WordPres Bricks Builder 前台RCE漏洞复现(CVE-2024-25600)

0x01 产品简介 Bricks Builder是一款用于WordPress的开发主题,提供直观的拖放界面,用于设计和构建WordPress网站。它使用户能够轻松创建自定义的网页布局和设计,无需编写或了解复杂的代码。Bricks Builder具有用户友好的界面和强大的功能,使用户可以通过简单的拖放操作添加…

计算机设计大赛 深度学习图像风格迁移 - opencv python

文章目录 0 前言1 VGG网络2 风格迁移3 内容损失4 风格损失5 主代码实现6 迁移模型实现7 效果展示8 最后 0 前言 🔥 优质竞赛项目系列,今天要分享的是 🚩 深度学习图像风格迁移 - opencv python 该项目较为新颖,适合作为竞赛课题…

istio系列教程

istio学习记录——安装https://suxueit.com/article_detail/otVbfI0BWZdDRfKqvP3Gistio学习记录——体验bookinfo及可视化观测https://suxueit.com/article_detail/o9VdfI0BWZdDRfKqlv0r istio学习记录——kiali介绍https://suxueit.com/article_detail/pNVbfY0BWZdDRfKqX_0K …

【Java EE初阶二十三】servlet的简单理解

1. 初识servlet Servlet 是一个比较古老的编写网站的方式,早起Java 编写网站,主要使用 Servlet 的方式,后来 Java 中产生了一个Spring(一套框架),Spring 又是针对 Servlet 进行了进一步封装,从而让我们编写网站变的更简单了;Sprin…

【卷积神经网络中用1*1 卷积有什么作用或者好处呢?】

🚀 作者 :“码上有前” 🚀 文章简介 :深度学习 🚀 欢迎小伙伴们 点赞👍、收藏⭐、留言💬 1*1 卷积有什么作用或者好处呢 作用降维和增加非线性特征组合和交互网络的宽度和深度调整全连接替代增强…

高频面试题整理(一)

文章目录 平台无关性如何实现?JVM如何加载 .class文件?什么是反射?谈谈ClassLoader谈谈类的双亲委派机制类的加载方式Java的内存模型?JVM内存模型-jdk8程序计数器:Java虚拟机栈局部变量表和操作数栈: Java内存模型中堆和栈的区别…

Android Gradle开发与应用 (二) : Groovy基础语法

1. Groovy是什么 Groovy是基于JVM虚拟机的一种动态语言,语法和Java非常相似,并能够无缝地与Java代码集成和互操作,增加了很多动态类型和灵活的特性。(闭包、DSL) 语法和Java非常相似这个特点,意味着,如果我们完全不懂…

Python爬虫进阶:爬取在线电视剧信息与高级检索

简介: 本文将向你展示如何使用Python创建一个能够爬取在线电视剧信息的爬虫,并介绍如何实现更高级的检索功能。我们将使用requests和BeautifulSoup库来爬取数据,并使用pandas库来处理和存储检索结果。 目录 一、爬取在线电视剧信息 …

174基于matlab的雷达数字信号处理

基于matlab的雷达数字信号处理。该程序具备对雷达目标回波的处理能力,能够从噪声中将目标检测出来,并提取目标的距离、速度、角度信息。有相应的试验文档。程序已调通,可直接运行。 174 雷达数字信号处理 目标检测出来 (xiaohongshu.com)

赵本山指着李琳(桂琴):这个琴你买不起,小沈阳:那得多少钱哪?

赵本山指着李琳(桂琴):这个琴你买不起,小沈阳:那得多少钱哪? --小品《同桌的你》(中2)的台词 赵本山:照全家福的家长没回来你跟谁照呢 小沈阳:哎哪算你一个呗…

国产替代MATLAB的征途

国产替代MATLAB的征途 The Journey of Domestic Alternatives to MATLAB 在科技的浪潮中,软件成为了推动进步的重要工具。MATLAB,这一工程和科学计算的巨擘,因其强大的数值分析、矩阵运算能力和丰富的应用工具箱,在全球学术界和工…

5 buuctf解题

命令执行 [BJDCTF2020]EasySearch1 打开题目 尝试弱口令&#xff0c;发现没有用 扫描一下后台&#xff0c;最后用御剑扫描到了index.php.swp 访问一下得到源码 源码如下 <?phpob_start();function get_hash(){$chars ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstu…

抖音视频批量下载工具|视频内容提取软件

这 款基于C#开发的抖音视频下载工具提供了多项实用功能&#xff0c;让用户可以方便快捷地获取抖音平台上的视频内容。 轻松下载抖音视频&#xff0c;尽在这款专业工具&#xff01; 无论您是想要批量提取抖音视频&#xff0c;还是只需下载单个视频&#xff0c;这款基于C#开发的…

【管理咨询宝藏资料26】某城投集团对标案例分析报告

本报告首发于公号“管理咨询宝藏”&#xff0c;如需阅读完整版报告内容&#xff0c;请查阅公号“管理咨询宝藏”。 【管理咨询宝藏资料26】某城投集团对标案例分析报告 【关键词】战略规划、对标研究、管理咨询 【文件核心观点】 - 市场化城开企业&#xff0c;打造城市综合运…

如何在 VM 虚拟机中安装 Windows XP 操作系统保姆级教程(附链接)

一、VMware Workstation 虚拟机 没有安装 VM 虚拟机的参考以下文章进行安装&#xff1a; VM 虚拟机安装教程https://eclecticism.blog.csdn.net/article/details/135713915 二、Windows XP 镜像 点击链接下载镜像 下载链接https://pan.baidu.com/s/1sk5pU8PoTJ1dOxMpGCUfc…

IO进程线程复习:进程线程

1.进程的创建 #include<myhead.h>int main(int argc, const char *argv[]) {printf("hello world\n");//父进程执行的内容int num520;//在父进程中定义的变量pid_t pidfork();//创建子进程if(pid>0){while(1){printf("我是父进程&#xff0c;num%d\n&…

曲线生成 | 图解B样条曲线生成原理(附ROS C++/Python/Matlab仿真)

目录 0 专栏介绍1 控制点计算之插值2 控制点计算之近似3 仿真实现3.1 ROS C实现3.2 Python实现3.3 Matlab实现 0 专栏介绍 &#x1f525;附C/Python/Matlab全套代码&#x1f525;课程设计、毕业设计、创新竞赛必备&#xff01;详细介绍全局规划(图搜索、采样法、智能算法等)&a…

ZYNQ Vivado更新硬件后SDK不更新问题解决办法

一、情况说明 软件版本 Vivado 2018.3 Vivado更新硬件导出后&#xff0c;按正常SDK会自动检测到hdf文件的变化跳出更新提示&#xff08;如下图所示&#xff09;。但是我的项目如果是复制的或者是长时间没打开的项目更新硬件配置导出后SDK无法自动更新。 二、解决办法 2.1 …

win10安装使用AxurePR9

背景&#xff1a;win10 安装、汉化 Axure Pr9 下载 安装包 链接&#xff1a;https://pan.baidu.com/s/1taMgh2zLbaFK7VTfUXTHdQ 提取码&#xff1a;kygo 安装 修改安装目录 打开是英文的 汉化 复制lang包到Axure安装包 再打开就是中文 问题 发布html后火狐无法打开 一、…