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

目录

  • 部署项目到云服务器
    • 什么是部署
    • 一、 创建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.mzph.cn/news/872750.shtml

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

相关文章

SQL面试题-留存率计算

表定义: create table if not exists liuliang_detail (user_id string comment ,record_time string comment yyyymmdd hh:mi:ss ) comment 流量明细表 ; 方法一: 计算的是整段时间范围内,每一天为基准的所有的留存1、2、7天的用户数。 …

WEB前端05-JavaScrip基本对象

JavaScript对象 1.Function对象 函数的创建 //方法一:自定义函数 function 函数名([参数]) {函数体[return 表达式] }//方法二:匿名函数 (function([参数]) {函数体[return 表达式] }); **使用场景一:定义后直接调用使用(只使用一次) (fun…

成为git砖家(1): author 和 committer 的区别

大家好,我是白鱼。一直对 git author 和 committer 不太了解, 今天通过 cherry-pick 的例子搞清楚了区别。 原理 例如我克隆了著名开源项目 spdlog 的源码, 根据某个历史 commit A 创建了分支, 然后 cherry-pick 了这个 commit …

《系统架构设计师教程(第2版)》第11章-未来信息综合技术-06-云计算(Cloud Computing) 技术概述

文章目录 1. 相关概念2. 云计算的服务方式2.1 软件即服务 (SaaS)2.2 平台即服务 (PaaS)2.3 基础设施即服务 (IaaS)2.4 三种服务方式的分析2.4.1 在灵活性2.4.2 方便性方 3. 云计算的部署模式3.1 公有云3.2 社区云3.3 私有云3.4 混合云 4. 云计算的发展历程4.1 虚拟化技术4.2 分…

python课设——宾馆管理系统

python课设——宾馆管理系统 数据库课设-宾馆管理系统-python3.7pyqt5 简介 大二数据库课程设计(3-4天工作量)的项目,登录界面的ui设计参考了他人成果,其余ui以及所有后端部分全部独立完成,详细功能见功能模块图使用…

防火墙NAT地址转换和智能选举综合实验

一、实验拓扑 目录 一、实验拓扑 二、实验要求(接上一个实验要求后) 三、实验步骤 3.1办公区设备可以通过电信链路和移动链路上网(多对多的NAT,并且需要保留一个公网IP不能用来转换) 3.2分公司设备可以通过总公司的移动链路和电信链路访…

简单爬虫案例

准备工作: 1. 安装好python3 最低为3.6以上, 并成功运行pyhthon3 程序 2. 了解python 多进程原理 3. 了解 python HTTP 请求库 requests 的基本使用 4. 了解正则表达式的用法和python 中 re 库的基本使用 爬取目标 目标网站: https://…

scrapy框架爬取豆瓣top250电影排行榜(下)

(3)在 pipeline.py 文件中对数据进行存储,此程序先写 入 txt 文件中,是为了判断该程序是否能正确爬取出数据。 此处使用了 json 库,使用 ensure_ascii False,能够确 保非 ASCII 字符(如中文&am…

贪心算法(2024/7/16)

1合并区间 以数组 intervals 表示若干个区间的集合,其中单个区间为 intervals[i] [starti, endi] 。请你合并所有重叠的区间,并返回 一个不重叠的区间数组,该数组需恰好覆盖输入中的所有区间 。 示例 1: 输入:inter…

SpringCloud网关的实现原理与使用指南

Spring Cloud网关是一个基于Spring Cloud的微服务网关,它是一个独立的项目,可以对外提供API接口服务,负责请求的转发和路由。本文将介绍Spring Cloud网关的实现原理和使用指南。 一、Spring Cloud网关的实现原理 Spring Cloud网关基于Spring…

5.操作led

模版使用之前的hello驱动程序。 想要操作led,首先要找到原理图,查找GPIO对应的GPIO引脚 从图中能看出来LED2对应的GPIO是GPIO5_3,同时可以得知这个LED2是低电平点亮。查看cat /sys/kernel/debug/gpio可得知GPIO5_3(第四组GPIO的第…

【深度学习入门篇 ⑧】关于卷积神经网络

【🍊易编橙:一个帮助编程小伙伴少走弯路的终身成长社群🍊】 大家好,我是小森( ﹡ˆoˆ﹡ ) ! 易编橙终身成长社群创始团队嘉宾,橙似锦计划领衔成员、阿里云专家博主、腾讯云内容共创官…

Python和C++骨髓细胞进化解析数学模型

🎯要点 🎯 数学模型邻接矩阵及其相关的转移概率 | 🎯蒙特卡罗模拟进化动力学 | 🎯细胞进化交叉图族概率 | 🎯进化图模型及其数学因子 | 🎯混合图模式对进化概率的影响 | 🎯造血干细胞群体的空间…

汇总国内镜像提供了Redis的下载地址

文章目录 1. 清华大学开源软件镜像站:2. 中国科技大学开源软件镜像:3. 阿里云镜像:4. 华为云镜像:5. 腾讯云镜像:6. 网易开源镜像站7. 官方GitHub仓库(虽然不是镜像,但也是一个可靠的下载源&…

AI算法19-偏最小二乘法回归算法Partial Least Squares Regression | PLS

偏最小二乘法回归算法简介 算法概述 偏最小二乘法模型可分为偏最小二乘回归模型和偏最小二乘路径模型。其中偏最小二乘回归模型是一种新型的多元统计方法,它集中了主成分分析、典型相关分析和线性回归的特点,特别在解决回归中的共线性问题具有无可比拟…

# Redis 入门到精通(五)-- redis 持久化(2)

Redis 入门到精通(五)-- redis 持久化(2) 一、redis 持久化–save 配置与工作原理 1、RDB 启动方式:反复执行保存指令,忘记了怎么办?不知道数据产生了多少变化,何时保存&#xff1…

CNN之图像识别

Inception Inception网络是CNN发展史上一个重要的里程碑。在Inception出现之前,大部分流行CNN仅仅是把卷积层堆叠得越来越多,使网络越来越深,以此希望能够得到更好的性能。但是存在以下问题: 图像中突出部分的大小差别很大。由于信息位置的…

【typedb】例子:药物发现: studio运行

测试8:solution结果 测试1:获取名字为Q9NPB9的protein Let’s start by getting the names of the protein Q9NPB9:测试2:哪个基因编码了Q9NPB9 Now let’s see which gene encodes for protein Q9NPB9: 推理过程:

【Linux】基础I/O——FILE,用户缓冲区

1.FILE里的fd FILE是C语言定义的文件结构体,里面包含了各种文件信息。可以肯定的一点是,FILE结构体内一定封装了 fd 。为什么?来看接下来的思路分析: 1.使用系统接口的必然性   文件存储在磁盘上,属于外设。谁有权限访问…

RabbitMQ:基础篇

1.RabbitMQ是高性能的异步通讯组件 何为异步通讯 打电话就是同步通讯,微信聊天可以理解为异步通讯,不是实时的进行通讯:时效性差。 同步调用的缺点: 拓展性差(需求不尽提) 性能下降 级联失败 …