SpringBoot前后端分離項目之打包、部署到服務器詳細圖文流程
實施步驟
一、修改配置文件地址
1.修改MySQL配置
修改MySQL地址,修改需要部署的數(shù)據(jù)名,賬號和密碼
2.修改Redis配置
修改Redis地址,修改需要部署的Redis密碼(如果需要的話)
3.修改日志路徑和字符集配置
修改logback.xml中日志的保存地址
重新設置日志字符集(防止放到服務器上去之后日志出現(xiàn)亂碼)
二、將源碼壓縮并上傳服務器
1.上傳前端文件
- 提前在本地將完整的源碼文件,壓縮成.zip格式
- 在服務器上創(chuàng)建存放項目源碼的文件夾(/workspace)
- 通過xftp工具將打包好的前端項目源碼上傳到服務器對應文件夾下
- 使用命令
unzip ruoyi-ui.zip
來解壓項目源碼 - 使用命令
rm -rf ruoyi-ui.zip
刪除原來的壓縮文件 - 使用命令
cd ruoyi-ui/
進入源碼文件夾
2.上傳后端文件(同上)
三、前端項目打包
1.安裝依賴
- 使用命令cd ruoyi-ui/進入源碼文件夾
npm install --unsafe-perm --registry=https://registry.npm.taobao.org
安裝前端項目依賴(服務器必須安裝node.js)--unsafe-perm
防止權限問題--registry=https://registry.npm.taobao.org
淘寶鏡像源,國內(nèi)速度更快
2.項目打包
- 使用命令
npm run build:prod
- 打包完成后會生成一個dist目錄(默認目錄名為dist)
四、后端項目打包
1.項目打包(jar包)
- 使用命令
mvn package
(需要服務器安裝maven環(huán)境) - 使用命令
cd target/
進入到目錄就能看到打好的jar包(這里的jar包是ruoyi.jar) - 將jar包拷貝到上級目錄,防止target目錄清理導致jar包丟失
2.項目打包(war包)
修改pom文件
排除掉自帶的Tomcat,這樣才能部署到外置的tomcat
新增一個啟動類,指向原有的啟動類
- 將修改后的兩個文件上傳到服務器(上傳對應文件并替換即可)
- 使用命令
mvn clean
清理目錄 - 使用命令
mvn package
打war包 - 使用命令
cd target
在這個目錄就找到了war包
五、部署前端項目
1.使用Nginx部署前端項目
使用命令cd /usr/local/nginx/
進入到nginx的目錄
修改Nginx的配置文件(修改conf文件夾下的nginx.conf文件)
將location位置的root后面跟的路徑修改為前端項目打包后的文件地址
防止出現(xiàn)權限相關的問題,將文件開頭的user修改為root
使用命令cd sbin/
進入到對應目錄
使用命令./nginx
啟動nginx
此時就可以在瀏覽器輸入對應的ip地址訪問前端了
六、部署后端項目
1.部署jar包方式
在對應目錄下使用命令nohup java -jar ruoyi.jar &
后臺運行后端項目
此時的前端項目可能會依然報錯404,這是因為前端和后端的地址沒有關聯(lián)起來
重新在nginx.conf文件中配置代理
進入到nginx目錄下重新加載一下nginx/usr/local/nginx/sbin/nginx -s reload
此時重新訪問前端項目,已經(jīng)不會報錯了
恭喜你項目部署完成!
2.部署war包方式
- ps -aux | grep java查看當前java進程
- kill -9 進程號關掉進程
- 定位到tomcat的文件夾下cd /usr/local/tomcat/
- 將剛才打包好的war包放到webapps這個目錄下
- cd webapps/后執(zhí)行命令cp /root/workspace/ruoyi/ruoyi.war ./將war包拷貝到當前目錄下
- 啟動tomcatservice tomcat start
- 此時會有一個問題,直接訪問ip打開的是tomcat的主頁,需要在原有的地址后加上/ruoyi才能訪問到后端
- 解決這個問題需要修改tomcat的配置,定位到tomcat文件夾下的conf目錄中,找到server.xml
- 新增一條配置信息,將原來的訪問方式改為根目錄訪問
- 將tomcat停掉
service tomcat stop
再重新啟動service tomcat start
3.配置集群
修改nginx.conf文件
修改代理轉發(fā)配置為上面修改的upstream
重啟一下nginx/usr/local/nginx/sbin/nginx -s reload
實時監(jiān)測一下日志,看現(xiàn)在訪問的是哪個后端tail -f 日志文件名
部署注意事項
前端頁面非首頁部分刷新的時候,頁面404問題
修改nginx配置文件,將以下代碼放入nginx中
location / { …… try_files $uri $uri/ /index.html; ---解決頁面刷新404問題 }
參考文章:http://www.dbjr.com.cn/article/261803.htm
部署后端項目啟動失敗
查看是不是后端項目的端口號被占用了netstat -anp | grep 端口號
節(jié)省服務器空間
前端和后端的項目打包都可以在本地完成,上傳服務器可以最小化上傳jar包和dist文件夾,這種方式最節(jié)省服務器空間資源
- 后端項目只保留jar包即可
- 前端項目只保留dist文件夾即可
總結
到此這篇關于SpringBoot前后端分離項目之打包、部署到服務器的文章就介紹到這了,更多相關SpringBoot打包部署到服務器內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
spring?aop?Pointcut?execution規(guī)則介紹
這篇文章主要介紹了spring?aop?Pointcut?execution規(guī)則,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-11-11自定義log4j2中的Appender來獲取日志內(nèi)容的示例代碼
在 Log4j2 中,Appender 是負責將日志事件輸出到目標地點的組件,本文講述的是通過 log4j 中自定義的 Appender 來獲取需要打印的日志信息,文中有詳細的代碼示例供大家參考,需要的朋友可以參考下2024-02-02詳解為什么阿里巴巴禁止使用BigDecimal的equals方法做等值比較
這篇文章主要介紹了詳解為什么阿里巴巴禁止使用BigDecimal的equals方法做等值比較,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-09-09Java如何實現(xiàn)http接口參數(shù)和返回值加密
這篇文章主要介紹了Java如何實現(xiàn)http接口參數(shù)和返回值加密問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-11-11