liunx前后端分离项目部署

文章目录

  • 1、nginx的安装和自启动
  • 2.nginx负载均衡
  • 3.前后端项目部署-后端部署
  • 4.前后端项目部署-前端部署

1、nginx的安装和自启动

在这里插入图片描述

yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel

1.安装我们nginx所需要的依赖
在这里插入图片描述

wget http://nginx.org/download/nginx-1.13.7.tar.gz
tar -xvf nginx-1.13.7.tar.gz -C /usr/local/java/

2.下载并解压安装包

# 进入安装包目录
cd nginx-1.13.7
# 编译,执行配置: 考虑到后续安装ssl证书 添加两个模块
./configure --with-http_stub_status_module --with-http_ssl_module
# 安装编译一下,一般我们编译完后/usr/local/
make && make install

3.安装nginx的ssl证书

在这里插入图片描述

1.conf是环境配置文件
2.html是静态资源
3.logs日志
4.sbin启动

4.这里就我们编译完后的文件夹。

在这里插入图片描述
5.我们进入sbin,将nginx启动,然后开放80端口

在这里插入图片描述
6.这样我们的nginx就已经安装成功了

在这里插入图片描述

7.如果我们需要nginx开机自启动电话我们就要去编辑rc.local这个文件,我们用vim进行编辑

在这里插入图片描述

8.进去之后我们输入自己nginx服务目录,保存退出

在这里插入图片描述

9.然后我们给rc.local授权让他变成可以执行文件,然后我们重启之后nginx也可以跟着自启动了

2.nginx负载均衡

在这里插入图片描述
1.昨天我们部署了tomcat,并且我们启用了开机自启动,所有我们首先将他给停掉

在这里插入图片描述

2.我们在回到tomcat跟目录下面将tomcat复制一份,一个端口8080,一个端口8081,

在这里插入图片描述
3.我们回到bin目录下面,将两个端口全部启动,第二个端口我们需要去修改她得端口号,将8080改为8081

在这里插入图片描述
4.把你所有的端口都往后面加1,使他与8080不一样

在这里插入图片描述
5.修改完成之后我们回到bin目录下面将8081端口启动,然后开放8081,端口进行一个外部访问了,效果就是我们输入8080和8081都可以访问tomcat了

在这里插入图片描述
6.之后我们回到/usr/local/nginx/conf/这个下面有一个nginx.conf文件
在这里插入图片描述
7.我们复制总路径,到右边打开,用记事本打开

在这里插入图片描述
8.用记事本打开之后,将我们的两个端口号添加服务器集群

在这里插入图片描述

9.添加之后我们还要去使用集群,用反相代理,使用tomcat_list集群

在这里插入图片描述
10.然后我们重启nginx,这样我们访问ip的时候就不需要加上8080,因为ip的端口默认就是80,这样子我们的负载均衡就已经搭好了

3.前后端项目部署-后端部署

在这里插入图片描述
1.我们cd 跳转到tomcat8080端口的webapps下面将我们项目的后端war包传进去(有多少个tomcat我们就需要将项目都传进去),然后进入bin目录下面启动tomcat

在这里插入图片描述
2.全部添加完成之后,我们用8080、8081都可以访问我们的后端项目数据了

4.前后端项目部署-前端部署

在这里插入图片描述
1.我们再/usr/local/姓名新建一共mypro文件夹用来存放我们的前端项目然后再进去文件夹,把我们的前端项目丢进去,进行一个解压(我们liunx里面没有zip的解压命令所以我们要下载一个命令yum install -y unzip)下载完成我们就可以进行一个解压了

在这里插入图片描述

2.我们解压完成之后,进入到我们的解压目录里面 pwd 复制路径把他配置到nginx里面去

在这里插入图片描述
3.我们cd 进入nginx里面在用cd 进入到conf里面找到nginx.conf这个文件,用记事本打开

在这里插入图片描述

server {
	listen       80;            #监听80端口,可以改成其他端口
	#server_name  localhost;    #当前服务的域名
	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.将图中的这个地方进行一个替换

在这里插入图片描述
5.我们刚刚配置了一个域名所以我们还要到C:\Windows\System32\drivers\etc\hosts这个路径下面去配置你的ip地址已经,域名名称

在这里插入图片描述
6.我们cd 回到/sbin下面重新启动nginx,

在这里插入图片描述
7.然后我们只输入ip地址就可以访问我们的前后端分离项目了

在这里插入图片描述
8.我们到tomcat文件夹下面的bin目录下面将8080端口停掉

在这里插入图片描述
9. 我们依然可以进行一个访问,如果我们将我们之前配置的两个tomcat都关闭的话就不能进行一个访问了

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

线程池的常用实现及执行流程

线程池 线程池线程池接口线程池参数线程池分类动态数目线程池固定数目线程池单例线程池任务调度线程池 线程池的执行流程 线程池 线程池接口 线程池参数 1、corePoolSize:核心线程数,线程池中最少线程,核心线程不会被回收。 2、maximumPoo…

做接口测试的流程一般是怎么样的?UI功能6大流程、接口测试8大流程这些你真的全会了吗?

在讲接口流程测试之前,首先需要给大家申明下:接口测试对于测试人员而言,非常非常重要,懂功能测试接口测试,就能在企业中拿到一份非常不错的薪资。 这么重要的接口测试,一般也是面试笔试必问。为方便大家更…

自定义搭建管理系统

最近使用自己搭建的脚手架写了一个简易管理系统,使用webpackreactantd,搭建脚手架参考: 使用Webpack5搭建项目(react篇)_babel-preset-react-app-CSDN博客 搭建的思路: 1. 基建布局,使用antd的…

Linux调用可执行程序:system()函数和execl函数

system()函数: system()函数是一个在C/C编程语言中的库函数,用于在操作系统中执行命令。 函数声明如下: int system(const char *command);该函数接受一个指向以空字符结尾的字符串的指针作为参数,该字符串包含要执行的命令。函…

[ai笔记12] chatGPT技术体系梳理+本质探寻

欢迎来到文思源想的ai空间,这是技术老兵重学ai以及成长思考的第12篇分享! 这周时间看了两本书,一本是大神斯蒂芬沃尔弗拉姆学的《这就是ChatGPT》,另外一本则是腾讯云生态解决方案高级架构师宋立恒所写的《AI制胜机器学习极简入门》&#xf…

OpenHarmony Docker移植实践

Docker简介 从操作系统诞生之日起,虚拟化技术就不断的演进与发展,结合目前云原生的发展态势,容器无疑是其中的重要一环。 Docker是一个开源的软件项目,可以在Linux操作系统上提供一层额外的抽象,让用户程序部署在一个…

单日收益四位数的Ai姓氏头像项目

单日收益四位数的Ai姓氏头像项目 发布时间:2024-02-24 00:00:00作者:傲战浏览:未知分类:教程网朗读: 最近利用AI一键生成头像的这个项目又火起来了,据说一天直播间光礼物就能收到大几千 操作起来没什么难度,一键生成 …

HarmonyOS-ArkTS卡片运行机制和相关模块

ArkTS卡片运行机制 实现原理 图1 ArkTS卡片实现原理 卡片使用方:显示卡片内容的宿主应用,控制卡片在宿主中展示的位置,当前仅系统应用可以作为卡片使用方。卡片提供方:提供卡片显示内容的应用,控制卡片的显示内容、…

LeetCode--代码详解 235.二叉搜索树得最近公共祖先

235.二叉搜索树得最近公共祖先 题目 给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先。 百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可…

nginx------------- 变量 日志分割 自定义图标 证书 (四)

一、高级配置 1 .1网页的状态页 基于nginx 模块 ngx_http_stub_status_module 实现,在编译安装nginx的时候需要添加编译参数 --with-http_stub_status_module,否则配置完成之后监测会是提示语法错误注意: 状态页显示的是整个服务器的状态,而非虚拟主机…

RunnerGo五种压测模式你会配置吗?

我们在做性能测试时需要根据性能需求配置不同的压测模式如:阶梯模式。使用jmeter时我们需要安装插件来配置测试模式,为了方便用户使用,RunnerGo内嵌了压测模式这一选项,今天给大家介绍一下RunnerGo的几种压测模式和怎么根据性能需…

使用GPT生成python图表

首先,生成一脚本,读取到所需的excel表格 import xlrddata xlrd.open_workbook(xxxx.xls) # 打开xls文件 table data.sheet_by_index(0) # 通过索引获取表格# 初始化奖项字典 awards_dict {"一等奖": 0,"二等奖": 0,"三等…

针对无法确定连接参数的网口通讯PLC采集方案

年前碰到了一个需求, 需要针对倍福PLC进行数据采集, 搞定了PLC通讯协议后, 最大的问题出现了, 我们不知道PLC的密码, 没办法进入到PLC查询到点位, 而且也没办法对PLC设置路由, 导致没有办法连上…

软件开发的艺术与科学

随着科技的飞速发展,软件开发已成为当今社会不可或缺的一部分。从智能手机应用程序到企业级管理系统,软件开发已经渗透到我们生活的方方面面。本文将探讨软件开发的重要性和现状,以及开发过程中涉及的关键环节和常见问题。 一、软件开发的重…

外包干了3个月,技术倒退1年。。。

先说情况,大专毕业,18年通过校招进入湖南某软件公司,干了接近6年的功能测试,今年年初,感觉自己不能够在这样下去了,长时间呆在一个舒适的环境会让一个人堕落!而我已经在一个企业干了四年的功能测试&#xf…

海豚调度DolphinScheduler入门学习

DS简介: DolphinScheduler 是一款分布式的、易扩展的、高可用的数据处理平台,主要包含调度中心、元数据管理、任务编排、任务调度、任务执行和告警等模块。其技术架构基于 Spring Boot 和 Spring Cloud 技术栈,采用了分布式锁、分布式任务队列…

【Vuforia+Unity】AR04-地面、桌面平面识别功能(Ground Plane Target)

不论你是否曾有过相关经验,只要跟随本文的步骤,你就可以成功地创建你自己的AR应用。 官方教程Ground Plane in Unity | Vuforia Library 这个功能很棒,但是要求也很不友好,只能支持部分移动设备,具体清单如下: 01.Vuforia的地面识别功能仅支持的设备清单: Recommended…

无刷电机的关键参数

不同值的参考电压的产生方法: BLDC&PMSM: 无刷电机也可以分为直流无刷电机和交流无刷电机。两者的主要区别在于电源类型和控制方式。直流无刷电机通常采用方波控制,也称为六步控制。这种控制方式下,电机的相电流波形接近方波。控制算法相…

从专业到大众:Sora如何颠覆传统视频制作模式

随着科技的飞速进步,人工智能(AI)技术正逐渐渗透到我们生活的方方面面。在视频制作领域,OpenAI推出的Sora模型为这一传统行业带来了前所未有的变革。Sora不仅改变了视频制作的技术门槛,更将视频制作从专业人士的手中解放出来,推向…

学习或从事鸿蒙开发工作,有学历要求吗?

目前安卓有2,000万的开发者。本科及以上学历占比为35%;iOS有2,400万开发者,本科及以上学历占比为40% 绝大多数的前端开发者都是大专及以下学历,在2023年华为开发者大会上余承东透露华为的开发者目前有200万,但鸿蒙开发者统计的数据…