【Linux】将IDEA项目部署到云服务器上,让其成为后台进程(保姆级教学,满满的干货~~)

news2024/9/23 17:11:39

目录

  • 部署项目到云服务器
    • 什么是部署
    • 一、 创建MySQL数据库
    • 二、 修改idea配置项
    • 三、 数据打包
    • 四、 部署云服务器
    • 五、开放端口号
    • 六 、 验证程序

部署项目到云服务器

什么是部署

⼯作中涉及到的"环境"

  • 开发环境:开发⼈员写代码⽤的机器.
  • 测试环境:测试⼈员测试程序使⽤的机器
  • ⽣产环境(线上环境):最终项⽬发布时所使⽤的机器.对稳定性要求很⾼.

把程序安装到⽣产环境上,这个过程称为"部署".也叫"上线".

⼀旦程序部署成功,那么这个程序就能被外⽹中千千万万的普通用户访问到.

换句话说,如果程序有BUG,这个BUG也就被千千万万的用户看到了.
部署过程⾄关重要,属于程序开发中最重要的⼀环.⼀旦部署出现问题,极有可能导致严重的事故(服务器
不可⽤之类的).

并且部署程序后,即使我们关闭电脑,程序依然在远程服务器上运行,用户不分时间段的依旧可以访问

部署云服务器一共有四大步骤:

  1. 构建数据库
  2. 修改idea配置项
  3. 数据打包
  4. 部署云服务器
  5. 开放端口号
  6. 验证程序

一、 创建MySQL数据库

按照之前的数据库建表脚本,在服务器上运⾏,建⽴相同的表结构.

.在云服务器上使用mysql进行操作,创建项目中涉及到的数据库和表结构

二、 修改idea配置项

数据库中云服务器上构建好后,就下来打开idea项目.

  1. 如果项目中涉及到本地的文件路径,那么他在云服务器上是无法访问到的,把文件上传然后把文件路径修改成要放在的那个服务器那个路径下(pwd操作)
  2. 然后修改yml配置中的MySQL连接,将数据库名进行修改,我标注的2和3地方要改成你配置的云服务器上的数据库名和密码,标注的地方1不动
    在这里插入图片描述

三、 数据打包

在本地使⽤maven进⾏打包

  1. 如果Test代码中有与环境配置相关的操作(⽐如数据库相关的操作),打包会失败,点击下图①处的图
    标,可以跳过测试
  2. 点击clean->package

在这里插入图片描述在这里插入图片描述

四、 部署云服务器

  1. 上传Jar包
    直接拖动打好的jar包到xshell窗⼝即可完成⽂件的上传
    在这里插入图片描述

注:问题:如果执⾏上述命令之后,提⽰ Command ‘XX’ not found ,表⽰当前云服务器未安装lrzsz
命令,需要先进⾏安装

安装lrzsz

 apt-get install lrzsz
  1. 运行程序
//运行刚才打包好的jar程序
java -jar blog-spring-0.0.1-SNAPSHOT.jar

运行成功则部署成永久程序,自动运行

nohup java -jar blog-spring-0.0.1-SNAPSHOT.jar &

nohup:后台运⾏程序.⽤于在系统后台不挂断地运⾏命令,退出终端不会影响程序的运⾏

五、开放端口号

如果外⽹需要访问该服务,需要先服务器防⽕墙开放对应的端⼝号

以腾讯云服务器举例:
1)进⼊防⽕墙管理⻚⾯
在这里插入图片描述
2)添加规则
在这里插入图片描述
端⼝号写需要开放的端⼝号,多个端⼝号以逗号分割.

六 、 验证程序

访问项⽬:http://IP:Port/blog_login.html,将原来的http://127.0.0.1:8080/login.html,将IP地址换成公网IP

IP改为云服务器的IP,Port改为项⽬的端⼝号

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

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

相关文章

Springboot整合MyBatis实现数据库查询(二)

目录 第一章、准备1.1)准备数据库表1.2)创建springboot项目,添加依赖1.3)使用mybatis逆向工程 第二章、代码开发2.1)建包并编写代码2.2)application配置文件2.3)设置编译位置 第三章、测试访问3…

09 深度推荐模型演化中的“平衡与不平衡“规律

你好,我是大壮。08 讲我们介绍了深度推荐算法中的范式方法,并简单讲解了组合范式推荐方法,其中还提到了多层感知器(MLP)。因此,这一讲我们就以 MLP 组件为基础,讲解深度学习范式的其他组合推荐方…

Why is LlamaCPP freezing during inference?

题意:为什么LlamaCPP在推理过程中会冻结 问题背景: Im using the following code to try and recieve a response from LlamaCPP, used through the LlamaIndex library. My model is stored locally in a gguf file. Im trying to do inference on the…

【数学建模】——多领域资源优化中的创新应用-六大经典问题解答

目录 题目1:截取条材 题目 1.1问题描述 1.2 数学模型 1.3 求解 1.4 解答 题目2:商店进货销售计划 题目 2.1 问题描述 2.2 数学模型 2.3 求解 2.4 解答 题目3:货船装载问题 题目 3.1问题重述 3.2 数学模型 3.3 求解 3.4 解…

Beelzebub过程记录及工具集

文章目录 靶场搭建靶场测试过程安装dirsearch扫描目录wpscan扫描破解 靶场搭建 https://download.vulnhub.com/beelzebub/Beelzebub.zip 下载解压镜像,从vmware打开。 一键式开机即可。 打开后配置网络。 确保网络可达。 靶场测试过程 首先使用nmap扫描网段的存…

为什么品牌需要做 IP 形象?

品牌做IP形象的原因有多方面,这些原因共同构成了IP形象在品牌建设中的重要性和价值,主要原因有以下几个方面: 增强品牌识别度与记忆点: IP形象作为品牌的视觉符号,具有独特性和辨识性,能够在消费者心中留…

提高自动化测试脚本编写效率 5大关键注意事项

提高自动化测试脚本编写效率能加速测试周期,减少人工错误,提升软件质量,促进项目按时交付,增强团队生产力和项目成功率。而自动化测试脚本编写效率低下,往往会导致测试周期延长,增加项目成本,延…

【C#】已知有三个坐标点:P0、P1、P2,当满足P3和P4连成的一条直线 与 P0和P1连成一条直线平行且长度一致,该如何计算P3、P4?

问题描述 已知有三个坐标点:P0、P1、P2,当满足P3和P4连成的一条直线 与 P0和P1连成一条直线平行且长度一致,该如何计算P3、P4? 解决办法 思路一:斜率及点斜式方程 # 示例坐标 x0, y0 1, 1 # P0坐标 x1, y1 4, 4 # …

MySQL执行状态查看与分析

当mysql出现性能问题时,一般会查看mysql的执行状态,执行命令: show processlist 各列的含义 列名含义id一个标识,你要kill一个语句的时候使用,例如 mysql> kill 207user显示当前用户,如果不是root&…

生信软件27 - 基于python的基因注释数据查询/检索库mygene

1. mygene库简介 MyGene.info提供简单易用的REST Web服务来查询/检索基因注释数据,具有以下特点: mygene技术文档: https://docs.mygene.info/en/latest/ 多物种支持: 包括人、小鼠、大鼠、斑马鱼等多个模式生物; 多数据源聚合…

mysql-事务的隔离界别

一.事务的隔离级别 二.查看事务的隔离级别 SELECT TRANSASCTION ISOLATION 三.设置事务隔离级别 SET [SESSION | GLOBAL] TRANSACTION ISOLATION LEVEL [READ UNCOMMITTED | READ COMMITTED | REPEATABLE READ | SERIALIZABLE] 四.总结 1.事务简介 事务是一组操作的集合…

车载以太网交换机入门基本功(2)— 初识VLAN

在《交换机入门基本功 -上》提到,交换机在物理层面划分通信区域并产生局域网(Local Area Network, LAN)。局域网具有一个特点:连线拓扑一旦确定,一定时间内不会发生通信区域的变动。在实际通信过程中,广播报…

MKS流量计软件MFC通讯驱动使用于C和P系列MFC控制USB接口W10系统

MKS流量计软件MFC通讯驱动使用于C和P系列MFC控制USB接口W10系统

国产精品ORM框架-SqlSugar详解 SqlSugar初识 附案例源码 云草桑 专题一

国产精品ORM框架-SqlSugar详解 1、SqlSugar初识 2、开始实操 3、增删改操作 4、进阶功能 5、集成整合 6、脚手架应用 sqlsugar 官网-CSDN博客 国产精品ORM框架-SqlSugar详解 SqlSugar初识 专题二-CSDN博客 1、SqlSugar初识 1.1 基本概念和历史 SqlSugar 是一款 老牌 …

论文复现丨物流中心选址问题:蜘蛛猴算法求解

路径优化系列文章: 1、路径优化历史文章2、物流中心选址问题论文复现丨改进蜘蛛猴算法求解 物流中心选址问题 一般物流中心选址问题是指:在有限的用户(即需求点)中找出一定数量的地点建立配送中心,实现从物流中心到用户之间的配送&#xf…

实验3.mbr读取硬盘

简介 实验:编写 mbr,读取0盘0道2扇区的内容写入内存,然后跳转执行写好的loader.s 代码 boot/mbr.s ; boot/mbr.s ; 功能:读取磁盘,加载loader到内存并跳转到loader%include "boot.inc" SECTION MBR vsta…

【Python 基础】方法

方法 方法和函数是一回事,只是它是调用在一个值上。例如,如果一个列表值存储在 spam 中,你可以在这个列表上调用 index()列表方法(稍后我会解释),就像spam.index(‘hello’)一样。方法部分跟在这个值后面,以一个句点分隔。 每种数据类型都有它自己的一组方法。例如,列…

Qt5.12.2安装教程

文章目录 文章介绍下载连接安装教程 文章介绍 安装Qt5.12.2 下载连接 点击官网下载 安装包下载完毕 安装教程 点开设置,添加临时储存库,复制连接“https://download.qt.io/online/qtsdkrepository/windows_x86/root/qt/” 点击测试&#xff0…

航空航天用电机控制器和车规级电机控制器有什么区别?

航空航天用电机控制器和车规级电机控制器有什么区别? 1.标准与认证要求2.工作环境与温度范围3.可靠性与容错性4.性能要求5.使用寿命与维护6.成本与批量生产 最近遇到这样一个问题,处在航空航天动力系统行业中,也会经常遇到类似的问题&#xf…

Spring框架(三)——AOP--基础部分

1、概括 将与核心业务无关的代码独立的抽取出来,形成一个独立的组件(抽取公共代码的过程),然后以横向交叉的方式应用到业务流程当中的过程被称为AOP优点 代码复用性强 代码易维护 使开发者更专注于业务逻辑 2、AOP的底层原理&…