天天看點

Spring boot 項目上雲技巧

最近很多阿裡雲雙 12 做活動,優惠力度還挺大的,很多朋友都買以最低的價格買到了自己的雲伺服器。不論是作為學習機還是部署自己的小型網站或者服務來說都是很不錯的!

但是,很多朋友都不知道如何正确去使用。下面我簡單分享一下自己的使用經驗。

總結一下,主要涉及下面幾個部分,對于新手以及沒有這麼使用過雲服務的朋友還是比較友好的:

  1. 善用阿裡雲鏡像市場節省安裝 Java 環境的時間,相關說明都在根目錄下的 readme.txt. 檔案裡面;
  2. 本地通過 SSH 連接配接阿裡雲伺服器很容易,配置好 Host位址,通過 root 使用者加上執行個體密碼直接連接配接即可。
  3. 本地連接配接 MySQL 資料庫需要簡單配置一下安全組和并且允許 root 使用者在任何地方進行遠端登入。
  4. 通過 Alibaba Cloud Toolkit 部署 Spring Boot 項目到阿裡雲伺服器真的很友善。

**[活動位址]最近很多阿裡雲雙 11 做活動,優惠力度還挺大的,很多朋友都買以最低的價格買到了自己的雲伺服器。不論是作為學習機還是部署自己的小型網站或者服務來說都是很不錯的!

活動位址

(僅限新人,老使用者可以考慮使用家人或者朋友賬号購買,推薦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電腦在家,這裡直接用找到的一些圖檔給大家展示一個。

接着點開,輸入賬号:root,命名輸入剛才設定的密碼,點ok就可以了

Mac 或者 Linux 系統都可以直接使用 ssh 指令進行連接配接,非常友善。

成功連接配接之後,控制台會列印出如下消息。

➜  ~ ssh [email protected] -p 22
[email protected]'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及阿裡雲安全組。

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給大家示範一下。

如何把一個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 的插件。

2.進入 Preference 配置一個 Access Key ID 和 Access Key Secret。

3.部署項目到 ECS 上。

按照上面這樣填寫完基本配置之後,然後點選 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 上的服務了。