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
參考鏈接:
解決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包,並執行腳本即可