Spring boot 项目上云技巧

本文涉及的产品
云服务器 ECS,每月免费额度280元 3个月
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
云服务器ECS,u1 2核4GB 1个月
简介:

最近很多阿里云双 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 上的服务了。

相关实践学习
一小时快速掌握 SQL 语法
本实验带您学习SQL的基础语法,快速入门SQL。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
相关文章
|
7天前
|
Java Linux
Springboot 解决linux服务器下获取不到项目Resources下资源
Springboot 解决linux服务器下获取不到项目Resources下资源
|
14天前
|
Java API Spring
SpringBoot项目调用HTTP接口5种方式你了解多少?
SpringBoot项目调用HTTP接口5种方式你了解多少?
57 2
|
14天前
|
前端开发 JavaScript Java
6个SpringBoot 项目拿来就可以学习项目经验接私活
6个SpringBoot 项目拿来就可以学习项目经验接私活
28 0
|
18天前
|
Java 应用服务中间件 Maven
SpringBoot 项目瘦身指南
SpringBoot 项目瘦身指南
37 0
|
26天前
|
前端开发 Java 关系型数据库
SpringBoot+MyBatis 天猫商城项目
SpringBoot+MyBatis 天猫商城项目
47 1
|
28天前
|
JSON JavaScript 前端开发
解决js中Long类型数据在请求与响应过程精度丢失问题(springboot项目中)
解决js中Long类型数据在请求与响应过程精度丢失问题(springboot项目中)
31 0
|
17天前
|
Java Maven 微服务
springboot项目开启远程调试-jar包
springboot项目开启远程调试-jar包
16 0
|
27天前
|
SpringCloudAlibaba Java 持续交付
【构建一套Spring Cloud项目的大概步骤】&【Springcloud Alibaba微服务分布式架构学习资料】
【构建一套Spring Cloud项目的大概步骤】&【Springcloud Alibaba微服务分布式架构学习资料】
121 0
|
7天前
|
JSON 前端开发 Java
Springboot前后端分离项目统一封装返回结果
Springboot前后端分离项目统一封装返回结果
|
26天前
|
Java Unix Shell
springboot项目重启的shell命令
springboot项目重启的shell命令
13 0