【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改为项⽬的端⼝号

相关推荐
Cry丶12 分钟前
ubuntu安装vsftpd
服务器·网络·ubuntu
木子欢儿2 小时前
openconnect Linux客户端安装 以及开机自启和登录
linux·运维·服务器
..Dauntless..3 小时前
【Linux】文件系统(一)
linux·运维·服务器
九零HTTP3 小时前
10月21号-CSDN配菜-IP池的5个坑
服务器·数据库·tcp/ip
SHENGWEI胜为4 小时前
交换机端口显示正常,终端却获取不到 IP 地址?从 DHCP 流程定位故障
服务器·网络·测试工具·缓存·通信工程
极光通讯4 小时前
液冷服务器对内存和SSD的适配要求:高密度部署下的散热与信号完整性
运维·服务器
齐 飞4 小时前
idea中git误操作撤回git reset --hard ‘HEAD@{1}‘
java·git·intellij-idea
GeW5 小时前
新质生产力路线图:从Linux到数据库,企业落地要点都在这
linux
IMPYLH5 小时前
Linux 系统备份与镜像
linux·服务器·网络
qetfw5 小时前
Bash 字符串处理:参数展开、序列与脚本执行方式
linux·开发语言·chrome·bash