Spring boot 项目上云技巧

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
云数据库 RDS PostgreSQL,高可用系列 2核4GB
简介:

最近很多阿里云双 12 做活动,优惠力度还挺大的,很多朋友都买以最低的价格买到了自己的云服务器。不论是作为学习机还是部署自己的小型网站或者服务来说都是很不错的!

但是,很多朋友都不知道如何正确去使用。下面我简单分享一下自己的使用经验。

总结一下,主要涉及下面几个部分,对于新手以及没有这么使用过云服务的朋友还是比较友好的:

  1. 善用阿里云镜像市场节省安装 Java 环境的时间,相关说明都在根目录下的 readme.txt. 文件里面;
  2. 本地通过 SSH 连接阿里云服务器很容易,配置好 Host地址,通过 root 用户加上实例密码直接连接即可。
  3. 本地连接 MySQL 数据库需要简单配置一下安全组和并且允许 root 用户在任何地方进行远程登录。
  4. 通过 Alibaba Cloud Toolkit 部署 Spring Boot 项目到阿里云服务器真的很方便。

**[活动地址]最近很多阿里云双 11 做活动,优惠力度还挺大的,很多朋友都买以最低的价格买到了自己的云服务器。不论是作为学习机还是部署自己的小型网站或者服务来说都是很不错的!

但是,很多朋友都不知道如何正确去使用。下面我简单分享一下自己的使用经验。

总结一下,主要涉及下面几个部分,对于新手以及没有这么使用过云服务的朋友还是比较友好的:

  1. 善用阿里云镜像市场节省安装 Java 环境的时间,相关说明都在根目录下的 readme.txt. 文件里面;
  2. 本地通过 SSH 连接阿里云服务器很容易,配置好 Host地址,通过 root 用户加上实例密码直接连接即可。
  3. 本地连接 MySQL 数据库需要简单配置一下安全组和并且允许 root 用户在任何地方进行远程登录。
  4. 通过 Alibaba Cloud Toolkit 部署 Spring Boot 项目到阿里云服务器真的很方便。

活动地址 (仅限新人,老用户可以考虑使用家人或者朋友账号购买,推荐799/3年 2核4G 这个性价比和适用面更广)

善用阿里云镜像市场节省安装环境的时间

基本的购买流程这里就不多说了,另外这里需要注意的是:其实 Java 环境是不需要我们手动安装配置的,阿里云提供的镜像市场有一些常用的环境。

阿里云镜像市场是指阿里云建立的、由镜像服务商向用户提供其镜像及相关服务的网络平台。这些镜像在操作系统上整合了具体的软件环境和功能,比如Java、PHP运行环境、控制面板等,供有相关需求的用户开通实例时选用。

具体如何在购买云服务器的时候通过镜像创建实例或者已有ECS用户如何使用镜像可以查看官方详细的介绍,地址:

https://help.aliyun.com/knowledge_detail/41987.html?spm=a2c4g.11186631.2.1.561e2098dIdCGZ

当我们成功购买服务器之后如何通过 SSH 连接呢?

创建好 ECS 后,你绑定的手机会收到短信,会告知你初始密码的。你可以登录管理控制台对密码进行修改,修改密码需要在管理控制台重启服务器才能生效。

你也可以在阿里云 ECS 控制台重置实例密码,
第一种连接方式是直接在阿里云服务器管理的网页上连接。如上图所示, 点击远程连接,然后输入远程连接密码,这个并不是你重置实例密码得到的密码,如果忘记了直接修改远程连接密码即可。

第二种方式是在本地通过命令或者软件连接。 推荐使用这种方式,更加方便。

Windows 推荐使用 Xshell 连接,具体方式如下:

Window电脑在家,这里直接用找到的一些图片给大家展示一个。

image.png

image.png

接着点开,输入账号:root,命名输入刚才设置的密码,点ok就可以了

image.png

Mac 或者 Linux 系统都可以直接使用 ssh 命令进行连接,非常方便。

成功连接之后,控制台会打印出如下消息。

➜  ~ ssh root@47.107.159.12 -p 22
root@47.107.159.12's password:
Last login: Wed Oct 30 09:31:31 2019 from 220.249.123.170

Welcome to Alibaba Cloud Elastic Compute Service !

   欢迎使用 Tomcat8 JDK8  Mysql5.7 环境

   使用说明请参考  /root/readme.txt 文件

我当时选择是阿里云提供好的 Java 环境,自动就提供了 Tomcat、 JDK8 、Mysql5.7,所以不需要我们再进行安装配置了,节省了很多时间。另外,需要注意的是:一定要看 /readme.txt ,Tomcat、 JDK8 、Mysql5.7相关配置以及安装路径等说明都在里面。

如何连接数据库?

如需外网远程访问mysql 请参考以上网址 设置mysql及阿里云安全组

image.png

Mysql为了安全性,在默认情况下用户只允许在本地登录,但是可以使用 SSH 方式连接。如果我们不想通过 SSH 方式连接的话就需要对 MySQL 进行简单的配置。

#允许root用户在任何地方进行远程登录,并具有所有库任何操作权限:
# *.*代表所有库表 “%”代表所有IP地址
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY "自定义密码" WITH GRANT OPTION;
Query OK, 0 rows affected, 1 warning (0.00 sec)
#刷新权限。 
mysql>flush privileges;
#退出mysql
mysql>exit
#重启MySQL生效
[root@snailclimb]# systemctl restart mysql

这样的话,我们就能在本地进行连接了。Windows 推荐使用Navicat或者SQLyog。

Window电脑在家,这里用 Mac 上的MySQL可视化工具Sequel Pro给大家演示一下。

image.png

如何把一个Spring Boot 项目部署到服务器上呢?

默认大家都是用 IDEA 进行开发。另外,你要有一个简单的 Spring Boot Web 项目。如果还不了解 Spring Boot 的话,一个简单的 Spring Boot 版 "Hello World "项目,地址如下:

https://github.com/Snailclimb/springboot-guide/blob/master/docs/start/springboot-hello-world.md

1.下载一个叫做 Alibaba Cloud Toolkit 的插件。

image.png

2.进入 Preference 配置一个 Access Key ID 和 Access Key Secret。

image.png

3.部署项目到 ECS 上。

image.png
image.png

按照上面这样填写完基本配置之后,然后点击 run 运行即可。运行成功,控制台会打印出如下信息:

[INFO] Deployment File is Uploading...
[INFO] IDE Version:IntelliJ IDEA 2019.2
[INFO] Alibaba Cloud Toolkit Version:2019.9.1
[INFO] Start upload hello-world-0.0.1-SNAPSHOT.jar
[INFO][##################################################] 100% (18609645/18609645)
[INFO] Succeed to upload, 18609645 bytes have been uploaded.
[INFO] Upload Deployment File to OSS Success
[INFO] Target Deploy ECS: { 172.18.245.148 / 47.107.159.12 }
[INFO] Command: { source /etc/profile; cd /springboot;  }
    Tip: The deployment package will be temporarily stored in Alibaba Cloud Security OSS and will be 
 deleted after the deployment is complete. Please be assured that no one can access it except you.

[INFO] Create Deploy Directory Success. 

[INFO] Deployment File is Downloading...
[INFO] Download Deployment File from OSS Success 

[INFO] File Upload Total time: 16.676 s

通过控制台答应出的信息可以看出:通过这个插件会自动把这个 Spring Boot 项目打包成一个 jar 包,然后上传到你的阿里云服务器中指定的文件夹中,你只需要登录你的阿里云服务器,然后通过 java -jar hello-world-0.0.1-SNAPSHOT.jar命令运行即可。

[root@snailclimb springboot]# ll
total 18176
-rw-r--r-- 1 root root 18609645 Oct 30 08:25 hello-world-0.0.1-SNAPSHOT.jar
[root@snailclimb springboot]# java -jar hello-world-0.0.1-SNAPSHOT.jar

然后你就可以在本地访问访问部署在你的阿里云 ECS 上的服务了。

相关实践学习
通义万相文本绘图与人像美化
本解决方案展示了如何利用自研的通义万相AIGC技术在Web服务中实现先进的图像生成。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
相关文章
|
7月前
|
前端开发 安全 Java
Spring Boot 便利店销售系统项目分包设计解析
本文深入解析了基于Spring Boot的便利店销售系统分包设计,通过清晰的分层架构(表现层、业务逻辑层、数据访问层等)和模块化设计,提升了代码的可维护性、复用性和扩展性。具体分包结构包括`controller`、`service`、`repository`、`entity`、`dto`、`config`和`util`等模块,职责分明,便于团队协作与功能迭代。该设计为复杂企业级应用开发提供了实践参考。
288 0
|
4月前
|
JSON 分布式计算 大数据
springboot项目集成大数据第三方dolphinscheduler调度器
springboot项目集成大数据第三方dolphinscheduler调度器
270 3
|
4月前
|
Java 关系型数据库 数据库连接
Spring Boot项目集成MyBatis Plus操作PostgreSQL全解析
集成 Spring Boot、PostgreSQL 和 MyBatis Plus 的步骤与 MyBatis 类似,只不过在 MyBatis Plus 中提供了更多的便利功能,如自动生成 SQL、分页查询、Wrapper 查询等。
400 3
|
4月前
|
Java 关系型数据库 MySQL
springboot项目集成dolphinscheduler调度器 实现datax数据同步任务
springboot项目集成dolphinscheduler调度器 实现datax数据同步任务
570 2
|
4月前
|
分布式计算 Java 大数据
springboot项目集成dolphinscheduler调度器 可拖拽spark任务管理
springboot项目集成dolphinscheduler调度器 可拖拽spark任务管理
292 2
|
4月前
|
Java 测试技术 Spring
简单学Spring Boot | 博客项目的测试
本内容介绍了基于Spring Boot的博客项目测试实践,重点在于通过测试驱动开发(TDD)优化服务层代码,提升代码质量和功能可靠性。案例详细展示了如何为PostService类编写测试用例、运行测试并根据反馈优化功能代码,包括两次优化过程。通过TDD流程,确保每项功能经过严格验证,增强代码可维护性与系统稳定性。
231 0
|
4月前
|
存储 Java 数据库连接
简单学Spring Boot | 博客项目的三层架构重构
本案例通过采用三层架构(数据访问层、业务逻辑层、表现层)重构项目,解决了集中式开发导致的代码臃肿问题。各层职责清晰,结合依赖注入实现解耦,提升了系统的可维护性、可测试性和可扩展性,为后续接入真实数据库奠定基础。
408 0
|
4月前
|
前端开发 Java API
酒店管理系统基于 JavaFX Spring Boot 和 React 经典项目重构实操
本文介绍了基于现代技术栈的酒店管理系统开发方案,整合了JavaFX、Spring Boot和React三大技术框架。系统采用前后端分离架构,JavaFX构建桌面客户端,React开发Web管理界面,Spring Boot提供RESTful API后端服务。核心功能模块包括客房管理和客户预订流程,文中提供了JavaFX实现的客房管理界面代码示例和React开发的预订组件代码,展示了如何实现客房信息展示、添加修改操作以及在线预订功能。
297 0
|
分布式计算 大数据 Java
springboot项目集成大数据第三方dolphinscheduler调度器 执行/停止任务
springboot项目集成大数据第三方dolphinscheduler调度器 执行/停止任务
89 0
|
4月前
|
Java 应用服务中间件 Maven
第01课:Spring Boot开发环境搭建和项目启动
第01课:Spring Boot开发环境搭建和项目启动
654 0
下一篇
oss云网关配置