使用aliyunECS服务器+宝塔面板部署springboot后端项目并测试接口

简介: 在部署过程中遇到了很多问题,解决起来也是十分繁琐,这里写个笔记记录一下遇到的问题和思路这里我先打算测试以下后端接口,前端代码还没有进行运行。还没有购买域名,因为域名需要备案时间要一周所以暂时使用公网ip进行访问。

整体流程

  1. aliyun获取一台自己的服务器
  2. 连接服务器并安装宝塔面板
  3. 宝塔面板安装基本环境
  4. 服务器中数据库准备,修改项目数据库连接配置
  5. 打包项目放到服务器上运行

阿里云领取学生免费试服务器

领取学生试用服务器

在阿里云界面搜索学生就可以看到学生服务器的领取方式了

需要学生认证,25岁一下就可以领取,初次领用需要完成两个任务,很简单一会儿就好

需要注意的是在服务器选配的时候,操作系统选择linux CentOS7.6能更好的兼容宝塔面板

获取服务器后需要的操作

  1. 网页左上角菜单进入云服务器ECS
  2. 点击自己刚领取到的实例进入详情页面进行密码重置并记录密码
  3. 下载Xshell进行数据库的连接就可以对远程服务器进行命令操作了

Xhell连接远程服务器

连接服务器需要服务器的公网ip(在实例详情页面可以看到)和实例密码,第一次连接是使用实例密码,后续如果创建了密钥对那就需用密钥对来连接

安装宝塔面板并在服务器上安装环境

在宝塔官网找到安装命令后复制到Xhell终端中回车运行即可

  • 需要注意的是如果在Xhell终端退格键无法正常使用,只需要在 文件>默认会话属性>终端键盘 里面配置DELETE键序列和BACKSPACE序列为ASCII 127即可

安装好宝塔面板后会给出宝塔面板的访问地址和用户名密码,记录一下

通过地址访问宝塔面板,访问不到的话去 阿里云控制台>ECS服务器>安全组>配置规则 里面把13512端口打开

  • 默认宝塔面板是运行在服务器的13512端口

成功登录账号密码后就可以安装环境了,面板会自动推荐基本的环境自动安装,选择安装即可

如果有后续需要的话在软件商店进行安装即可

准备一个能正常运行的后端项目

首先明确的是运行jar包的项目需要有java环境,如果后端项目有数据库需求的话那么服务器上也是需要安装java和数据库的

这里我windows中准备的项目是springboot项目,数据库是Mysql8.0、jdk1.8

linux中安装了 jdk1.8(必须对应)、Mysql5.5(因为服务器内存较低,建议安装5版本的数据库,再想到版本向下兼容,因此没有更改,后续也没什么问题)


准备数据库和打包jar包并运行

打包项目到服务器中运行:

  1. 先在宝塔面板中新建数据库记录数据库用户名和密码用于数据库连接配置
  2. 将windows中数据库导出项目和结构sql文件,在宝塔面板将sql文件导入到新建的数据库中
  3. 修改springboot项目中的数据库连接配置,(数据库名、用户名、密码)
  4. 配置运行端口,注意的是配置的端口需要在 阿里云控制台>ECS服务器>安全组>配置规则 添加那个端口
  5. 使用Maven进行打包并获得jar包
  6. 在Xhell终端新建一个文件夹,cd到该目录下,并将jar包直接拖入Xhell终端即可完成文件上传到服务器

    • 这一步需要linux安装了lrzsz才行如果没有安装执行以下命令进行安装

      yum -y install lrzsz
  7. jar包上传后执行命令运行jar包

    # 运行jar包
    # nohup意思为运行不会被命令ctrl+C 和关闭终端终止
    # >> xxx.log 为输出的日志文件名称
    # & 表示后台运行
    nohup java -jar XXX.jar > XXX.log &

    通过日志可以看到项目运行情况

    # tail 为linux查看命令 -f 表示循环读取,方便查看日志
    tail -y XXX.log
  8. 访问公网ip加端口即可测试后端项目是否运行

如何结束运行jar包以及查看端口是否被占用

#查看8081端口进程
lsof -i:8081

#杀死进程
kill -9 pid
相关实践学习
2分钟自动化部署人生模拟器
本场景将带你借助云效流水线Flow实现人生模拟器小游戏的自动化部署
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
相关文章
|
16天前
|
Java 测试技术 开发者
必学!Spring Boot 单元测试、Mock 与 TestContainer 的高效使用技巧
【10月更文挑战第18天】 在现代软件开发中,单元测试是保证代码质量的重要手段。Spring Boot提供了强大的测试支持,使得编写和运行测试变得更加简单和高效。本文将深入探讨Spring Boot的单元测试、Mock技术以及TestContainer的高效使用技巧,帮助开发者提升测试效率和代码质量。
97 2
|
10天前
|
缓存 自然语言处理 并行计算
基于NVIDIA A30 加速卡推理部署通义千问-72B-Chat测试过程
本文介绍了基于阿里云通义千问72B大模型(Qwen-72B-Chat)的性能基准测试,包括测试环境准备、模型部署、API测试等内容。测试环境配置为32核128G内存的ECS云主机,配备8块NVIDIA A30 GPU加速卡。软件环境包括Ubuntu 22.04、CUDA 12.4.0、PyTorch 2.4.0等。详细介绍了模型下载、部署命令及常见问题解决方法,并展示了API测试结果和性能分析。
73 1
|
25天前
|
机器学习/深度学习 监控 计算机视觉
目标检测实战(八): 使用YOLOv7完成对图像的目标检测任务(从数据准备到训练测试部署的完整流程)
本文介绍了如何使用YOLOv7进行目标检测,包括环境搭建、数据集准备、模型训练、验证、测试以及常见错误的解决方法。YOLOv7以其高效性能和准确率在目标检测领域受到关注,适用于自动驾驶、安防监控等场景。文中提供了源码和论文链接,以及详细的步骤说明,适合深度学习实践者参考。
203 0
目标检测实战(八): 使用YOLOv7完成对图像的目标检测任务(从数据准备到训练测试部署的完整流程)
|
26天前
|
JSON 算法 数据可视化
测试专项笔记(一): 通过算法能力接口返回的检测结果完成相关指标的计算(目标检测)
这篇文章是关于如何通过算法接口返回的目标检测结果来计算性能指标的笔记。它涵盖了任务描述、指标分析(包括TP、FP、FN、TN、精准率和召回率),接口处理,数据集处理,以及如何使用实用工具进行文件操作和数据可视化。文章还提供了一些Python代码示例,用于处理图像文件、转换数据格式以及计算目标检测的性能指标。
49 0
测试专项笔记(一): 通过算法能力接口返回的检测结果完成相关指标的计算(目标检测)
|
26天前
|
机器学习/深度学习 并行计算 数据可视化
目标分类笔记(二): 利用PaddleClas的框架来完成多标签分类任务(从数据准备到训练测试部署的完整流程)
这篇文章介绍了如何使用PaddleClas框架完成多标签分类任务,包括数据准备、环境搭建、模型训练、预测、评估等完整流程。
71 0
目标分类笔记(二): 利用PaddleClas的框架来完成多标签分类任务(从数据准备到训练测试部署的完整流程)
|
26天前
|
机器学习/深度学习 数据采集 算法
目标分类笔记(一): 利用包含多个网络多种训练策略的框架来完成多目标分类任务(从数据准备到训练测试部署的完整流程)
这篇博客文章介绍了如何使用包含多个网络和多种训练策略的框架来完成多目标分类任务,涵盖了从数据准备到训练、测试和部署的完整流程,并提供了相关代码和配置文件。
42 0
目标分类笔记(一): 利用包含多个网络多种训练策略的框架来完成多目标分类任务(从数据准备到训练测试部署的完整流程)
|
NoSQL Java 数据库连接
Idea创建SpringBoot多模块项目
我们可以定义一个维度,以此来划分模块,例如上述商城、可以划分成商品、库存和订单模块。也可以目录结构分层,`Controller`层,只不过没人这样做。这样就引申出了下一个问题`拆分策略`。
913 0
Idea创建SpringBoot多模块项目
|
Java 应用服务中间件 Maven
传统maven项目和现在spring boot项目的区别
Spring Boot:传统 Web 项目与采用 Spring Boot 项目区别
483 0
传统maven项目和现在spring boot项目的区别
|
XML Java 数据库连接
创建springboot项目的基本流程——以宠物类别为例
创建springboot项目的基本流程——以宠物类别为例
152 0
创建springboot项目的基本流程——以宠物类别为例
|
存储 机器学习/深度学习 IDE
SpringBoot 项目与被开发快速迁移|学习笔记
快速学习 SpringBoot 项目与被开发快速迁移
SpringBoot 项目与被开发快速迁移|学习笔记