Spring框架學習筆記(6)——阿里雲伺服器部署Spring Boot項目(jar包)

  • 2019 年 11 月 3 日
  • 筆記

最近接外包,需要部署伺服器,便是參考了網上的幾篇博文,成功在阿里雲伺服器成功部署了Spring Boot項目,特記下本篇筆記

Spring Boot項目打包

這裡說一下部署的一些問題

1.mysql驅動

創建spring boot的時候,在介面選擇添加了MySql的依賴,但是,實際項目測試的時候,發現驅動錯誤,所以,得把MySql驅動改為下面的驅動

<!-- mysql驅動 -->  <dependency>      <groupId>mysql</groupId>      <artifactId>mysql-connector-java</artifactId>      <version>5.1.6</version>  </dependency>

2.打包

使用spring boot項目,通過maven中的lifecycle中的package進行快速打jar包,這個jar包內置了tomcat伺服器,之後就可以直接運行此jar包。

之後我們就可以得到一個jar包,把此jar包部署到伺服器

配置寶塔linux系統環境

購買伺服器

我購買的是學生主機,比較實惠,只要是經過實名驗證,24歲以下,就是自動默認的學生身份
選擇輕量級應用伺服器和寶塔linux選項,可以快速安裝並使用linux寶塔面板,很適合不懂linux命令的人群

安裝寶塔系統

首先,購買到伺服器之後,會要求你設置管理員的密碼,之後通過遠程連接到伺服器,切換到管理員賬戶,輸入下面的安裝寶塔linux命令

yum install -y wget && wget -O install.sh http://download.bt.cn/install/install.sh && sh install.sh

之後會彈出一個提示,輸入y之後就開始安裝了

我們輸入下面命令,來查看系統生成的linux寶塔系統的用戶名和密碼

/etc/init.d/bt default

登錄寶塔linux系統

寶塔的地址為ip地址:8888,如47.22.22.33:8888

使用上面獲得的寶塔系統的賬戶密碼登錄寶塔linux系統,之後進行環境的安裝(資料庫,php,tomcat)

由於我們是jar包方式部署,所以需要伺服器上配置好java環境,我們不想通過命令行類配置java環境,可以選擇寶塔系統安裝Tomcat環境

安裝Tomcat環境就會默認安裝Java環境了,Tomcat環境的話,選擇版本8,這樣,默認的Java環境就是1.8,如果版本為7,則默認為Java環境為1.7

遠程連接伺服器

可以使用ssh本地客戶端遠程連接伺服器,我這裡使用的是xshell,連接很簡單,只需要配置好主機(Ip地址)、用戶名和密碼即可

之後輸入linux中的管理員密碼即可成功登陸

伺服器配置mysql資料庫

1.開啟3306介面放行

PS:可能還需要在伺服器的防火牆添加規則

2.配置mysql遠程連接

默認的mysql是不允許遠程連接的,所以,我們得配置mysql遠程連接

使用Xshell等ssh客戶端,遠程連接到伺服器上,之後輸入命令mysql -u 賬戶名 -p,輸入密碼之後即可進入到mysql命令行,輸入下面的命令

%使用mysql默認的資料庫  use mysql;  %設置遠程連接  update user set host ='%' where user = 'root' and host='localhost';  %刷新  flush privileges

參考鏈接:

Mysql初始化root密碼和允許遠程訪問

解決Navicat遠程連接MySQL出現 10060 unknow error

部署項目

伺服器部署spring boot項目有兩種方式,war(傳統tomcat方式),jar

war的話,直接放在tomcat的webapp的目錄即可

本文使用是jar包部署,使用linux寶塔系統把之前的那個spring boot的jar包上傳到伺服器上

由於是伺服器,如果關閉了遠程連接窗口,就會自動結束進程,所以,得要實現後台運行jar包

使用命令來開啟後台

//遠程連接關閉,也會關閉  java -jar xx.jar  //後台  java -jar xx.jar &

新建一個腳本start.sh,然後腳本需要給予許可權(寶塔linux中文件選項可以快捷更改)

java -jar xx.jar >nohup.out 2>&1& 

上面的腳本,只需要修改為正確的jar包文件,之後執行腳本就會開啟後台執行jar包,同時,會將日誌輸出到nohup.out文件中

我們在本地建好腳本,之後上傳到伺服器上,修改許可權為777

下面的全勾選,許可權就會變為777

之後通過ssh客戶端遠程連接伺服器,以管理員的身份來執行腳本

./start.sh

之後項目訪問的話就是通過ip地址+埠號+項目名,如44.22.22.22:13888/Demo/hello,這裡,我是在spring boot配置文件中自定義了埠13888,默認的話則是8080

如果有自定義埠,還要放行埠,在寶塔linux系統的安全選項可以修改,詳情請參考上面的mysql埠的放行

如果項目有所更改,再次部署的時候,先通過jps命令查看運行的jar包,之後關閉進程,重新上傳新的jar包,並執行腳本即可