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

目录

  • 部署项目到云服务器
    • 什么是部署
    • [一、 创建MySQL数据库](#一、 创建MySQL数据库)
    • [二、 修改idea配置项](#二、 修改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

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

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

java 复制代码
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改为项⽬的端⼝号

相关推荐
向qian看_-_8 小时前
Linux 使用pip报错(error: externally-managed-environment )解决方案
linux·python·pip
yaoxtao9 小时前
java.nio.file.InvalidPathException异常
java·linux·ubuntu
fuyongliang12310 小时前
linux Nginx服务配置介绍,和配置流程
运维·服务器·网络
2501_9200470311 小时前
git在Linux中的使用
linux·git·elasticsearch
程序设计实验室12 小时前
在鸡哥14x上安装Linux:Fedora 42 上手体验
linux
UNbuff_012 小时前
Linux bzip2 命令使用说明
linux·运维·服务器
小马哥编程12 小时前
DNS解析中的服务器协作机制
服务器·git·github
IOT-Power12 小时前
Ubuntu下把 SD 卡格式化为 FAT32
linux·运维·ubuntu
嫩萝卜头儿12 小时前
虚拟地址空间:从概念到内存管理的底层逻辑
linux·服务器·网络
LJC_Superman13 小时前
Web与Nginx网站服务
运维·服务器·前端·网络·数据库·nginx·vim