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