進行了這麼長時間SpringBoot項目開發,今天想系統的總結一下項目部署到linux服務器的流程,並在上一篇介紹了linux環境的準備與搭建,SpringBoot項目部署到linux服務器之環境搭建,這篇記錄一下從git上拉取項目,並寫腳本啓動項目,訪問項目。
一、從git拉取項目
前提是已經將項目上傳到git倉庫,我的舉例項目上傳到了github上,或者是本地打成jar並上傳到linux服務器,本篇以從git倉庫拉取爲例。
新建一個目錄並執行如下:
[root@localhost zrk]# git clone https://github.com/zrk333/myboot.git
會生成myboot文件夾,進入文件夾(cd myboot)
二、編譯打包
打包編譯後文件如下:
[root@localhost myboot]# mvn clean install
[root@localhost myboot]# ls
myboot.iml nohup.out pom.xml README.md src target
三、啓動項目
進入target文件夾下
[root@localhost myboot]# cd target
[root@localhost target]# ls
classes generated-test-sources maven-status myboot-0.0.1-SNAPSHOT.jar.original test-classes
generated-sources maven-archiver myboot-0.0.1-SNAPSHOT.jar surefire-reports
1)可以使用java -jar 啓動
[root@localhost target]# java -jar myboot-0.0.1-SNAPSHOT.jar
2)可以使用nohup後臺啓動
[root@localhost target]# nohup java -jar myboot-0.0.1-SNAPSHOT.jar &
- 可以寫腳本啓動
爲了方便以後提交代碼後重啓項目,可以寫腳本進行重啓,可以參考四、編寫啓動腳本
四、編寫啓動腳本
1)回到myboot目錄,並創建start文件
[root@localhost target]# cd ..
[root@localhost myboot]# touch start
2)編寫啓動腳本
[root@localhost myboot]# vi start
插入如下內容:(部分參數需要根據實際情況調整,比如項目名稱,使用的環境等)
#!/bin/sh
git pull
mvn clean install
echo "restart application"
ps -ef | grep myboot | grep -v grep | awk '{print $2}' | xargs kill -9
nohup java -jar -Dspring.application.name=myboot -Dspring.profiles.active=dev target/myboot-0.0.1-SNAPSHOT.jar &
3)執行腳本
[root@localhost myboot]# ./start
最終截圖(片段)如下:
4) 添加權限
第一次執行應該會有如下提示:
[root@localhost myboot]# ./start
-bash: ./start: Permission denied
需要執行如下命令纔行:
[root@localhost myboot]# sudo chmod -R 777 start
五、訪問項目
1)使用瀏覽器或者postman用ip:port+url訪問:
2)查看服務器ip地址
[root@localhost myboot]# ip addr
3) 如果訪問失敗,可能是因爲端口沒有開發,可以關閉防火牆
- 1服務器訪問測試
[root@localhost myboot]# curl localhost:8081/user/getUserInfo?id=1
{"id":1,"name":"張三","password":"123456"}[root@localhost myboot]
- 2關閉防火牆(方式不唯一,可以參考其他資料)
執行如下命令即可:
systemctl stop firewalld
整體流程應該差不多了,可以有時間的時候玩一下,僅供參考!