使用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
相关实践学习
借助OSS搭建在线教育视频课程分享网站
本教程介绍如何基于云服务器ECS和对象存储OSS,搭建一个在线教育视频课程分享网站。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
相关文章
|
4月前
|
Shell 网络安全 开发工具
服务器已经搭建好的项目如何关联至gitee对应仓库并且将服务器的项目代码推送至gitee-优雅草卓伊凡
服务器已经搭建好的项目如何关联至gitee对应仓库并且将服务器的项目代码推送至gitee-优雅草卓伊凡
281 5
|
4月前
|
Java Linux Apache
在CentOS服务器上编译并部署NiFi源码
部署Apache NiFi在CentOS上是一个涉及细节的过程,需要注意Java环境、源码编译、配置调整等多个方面。遵循上述步骤,可以在CentOS服务器上成功部署和配置Apache NiFi,从而高效地处理和分发数据。
220 17
|
4月前
|
弹性计算 人工智能 前端开发
在阿里云ECS上部署n8n自动化工作流:U2实例实战
本文介绍如何在阿里云ECS的u2i/u2a实例上部署开源工作流自动化平台n8n,利用Docker快速搭建并配置定时任务,实现如每日抓取MuleRun新AI Agent并推送通知等自动化流程。内容涵盖环境准备、安全组设置、实战案例与优化建议,助力高效构建低维护成本的自动化系统。
1112 5
|
5月前
|
弹性计算 安全 Linux
使用阿里云服务器安装Z-Blog博客网站流程,新手一键部署教程
本教程教你如何在阿里云99元服务器上,通过宝塔Linux面板一键部署Z-Blog博客。基于CentOS 7.9系统,从远程连接、安装宝塔面板、开放端口到部署Z-Blog全流程详解,操作简单,新手也能轻松搭建个人博客网站。
653 13
|
NoSQL Java 数据库连接
Idea创建SpringBoot多模块项目
我们可以定义一个维度,以此来划分模块,例如上述商城、可以划分成商品、库存和订单模块。也可以目录结构分层,`Controller`层,只不过没人这样做。这样就引申出了下一个问题`拆分策略`。
1568 0
Idea创建SpringBoot多模块项目
|
Java 应用服务中间件 Maven
传统maven项目和现在spring boot项目的区别
Spring Boot:传统 Web 项目与采用 Spring Boot 项目区别
770 0
传统maven项目和现在spring boot项目的区别
|
XML Java 数据库连接
创建springboot项目的基本流程——以宠物类别为例
创建springboot项目的基本流程——以宠物类别为例
261 0
创建springboot项目的基本流程——以宠物类别为例
|
存储 机器学习/深度学习 IDE
SpringBoot 项目与被开发快速迁移|学习笔记
快速学习 SpringBoot 项目与被开发快速迁移
SpringBoot 项目与被开发快速迁移|学习笔记
|
Java Spring
自定义SpringBoot项目的启动Banner
``Banner``是``SpringBoot``框架一个特色的部分,其设计的目的无非就是一个框架的标识,其中包含了版本号、框架名称等内容,既然``SpringBoot``为我们提供了这个模块,它肯定也是可以更换的这也是``Spring``开源框架的设计理念。