最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

SpringBoot項目部署的四種方式詳解

 更新時間:2026年04月24日 09:29:04   作者:青衫碼上行  
本文詳細介紹了SpringBoot項目的四種部署方式,包括原始命令部署、寶塔Linux可視化部署、Docker容器化部署和Docker容器平臺托管,每種方式都有其特點和適用場景,需要的朋友可以參考下

Spring Boot項目四種部署方式

項目開發(fā)完成后,部署是實現(xiàn)代碼落地可用的關鍵環(huán)節(jié),有以下四種方式,其中前三種詳細講解。
原始命令部署
寶塔Linux可視化部署
Docker容器化部署
Docker容器平臺托管

一、部署前通用準備

無論選擇哪種部署方式,以下基礎準備工作必不可少:

1.1 服務器與本地環(huán)境

服務器:我使用的是騰訊云輕量應用服務器(2核2G+5M帶寬),操作系統(tǒng)選擇CentOS 7/8或OpenCloudOS。

本地環(huán)境:項目無編譯錯誤,可通過mvn clean package成功打包;安裝遠程連接工具(Xshell / FinalShell)并連接,我這里使用的是Xshell。(使用 free -h可以查看你的服務器信息)

其中,連接的賬戶和密碼在此處查看【不管是不是寶塔Linux部署方式,都是在這】:

核心信息:記錄服務器公網IP、登錄密碼,提前準備生產環(huán)境配置文件(application-prod.yml)。

1.2 必備環(huán)境依賴

前端 部署需要的 web 服務器:nginx 、apache、tomcat

后端 部署需要的 java、mavengit 【以上都需要自行在連接了服務器的Linux上安裝】

  • 基礎依賴:JDK 1.8(與本地開發(fā)環(huán)境一致即可)、MySQL 8.0(項目數據庫)。
  • 端口開放:服務器防火墻(騰訊云控制臺)和本地安全組開放8080(項目)、3306(MySQL)、8888(寶塔,僅寶塔部署需)端口。
  • 數據庫配置:創(chuàng)建項目所需數據庫(如yupi),執(zhí)行建表語句(下面的url最后面附帶的是時區(qū)設置,不然我的Idea連接會報錯,自己看需要設置)。

1.3 項目打包

  1. 配置application-prod.yml生產環(huán)境參數:
spring:
  datasource:
    url: jdbc:mysql://localhost:3306/yupi?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=Asia/Shanghai
    username: 數據庫用戶名
    password: 數據庫密碼
server:
  port: 8080
  servlet:
    context-path: /api
  1. 執(zhí)行Maven打包命令(跳過測試類)/ 或使用Idea中的圖形化按鈕:
mvn clean package -Dmaven.test.skip=true
  1. 打包成功后,在target目錄獲取Jar包(如user-center-0.0.1-SNAPSHOT.jar)。

二、方式一:原始命令部署(無可視化,純命令行)

適合熟悉Linux命令、追求輕量化部署的場景,無需額外安裝面板工具,直接通過命令行操作。

2.1 服務器環(huán)境搭建

  1. 遠程連接服務器,安裝JDK 1.8:
# 安裝JDK
yum install -y java-1.8.0-openjdk-devel
# 驗證安裝
java -version
  1. 安裝MySQL 8.0(參考官方文檔或執(zhí)行一鍵安裝腳本),啟動并設置開機自啟:
systemctl start mysqld
systemctl enable mysqld

2.2 項目上傳與啟動

  1. 創(chuàng)建項目目錄并上傳Jar包(后端):

方式一:使用Linux命令

# 創(chuàng)建目錄
mkdir -p /www/wwwroot/user-center-backend
# 將本地打包好的后端 Jar 包上傳到服務器指定目錄(可通過scp命令或FTP工具) 
scp 本地Jar包路徑 root@服務器公網IP:/www/wwwroot/user-center-backend

方式二:使用git直接上傳到服務器,然后自行轉移位置,再使用maven打包構建
 

方式三:直接在Idea中用maven生成jar包后直接拖進Linux里面就行

  • 前端:打開前端項目,build運行一下,然后找到dist文件所在位置,壓縮,之后拖進Xshell。
    解壓后,挪到存放前端文件夾的位置后。我們需要打開Nginx,cd conf 去修改一下nginx.conf的配置(其中可能遇到非常多的問題,比如需要修改權限然后重新加載nginx -s reload啥的…)
  1. 啟動項目(兩種方式可選):
  • 臨時啟動(關閉終端后項目停止):
java -jar /www/wwwroot/user-center-backend/user-center-0.0.1-SNAPSHOT.jar --spring.profiles.active=prod
  • 后臺啟動(推薦,不受終端影響,不會一直占用Linux的命令行,而是后臺運行):
nohup java -jar user-center-backend-0.0.1-SNAPSHOT.jar --spring.profiles.active=prod &

這樣就部署成功了:

1. 臨時啟動:

2.后臺啟動

  1. 驗證啟動:查看日志或端口占用:
# 查看日志
tail -f app.log
# 查看8080端口
netstat -ntlp | grep 8080

2.3 項目維護

  • 停止項目:
# 查找進程PID
ps -ef | grep java
# 終止進程
kill -9 進程PID
  • 更新項目:替換舊Jar包后,重復啟動命令即可。

2.4 優(yōu)缺點

  • 優(yōu)點:輕量化、無額外依賴、操作靈活。
  • 缺點:無可視化界面,需手動輸入命令,非常的麻煩,巨麻煩?。。?!。

三、方式二:寶塔Linux部署(可視化,新手友好)

通過寶塔面板簡化服務器操作,無需復雜命令,點擊鼠標即可完成環(huán)境搭建、項目部署,適合新手或追求高效部署的場景。

重裝系統(tǒng),方式一用的是CentOS系統(tǒng),這次用寶塔Linux系統(tǒng)

3.1 使用寶塔面板

我們可以安裝寶塔Linux,也可以選擇使用騰訊云服務器自帶的寶塔Linux?!具@里我使用服務器自帶的】

  1. 在防火墻中可以添加自己的ip地址,僅限自己訪問(端口默認8888

  • 訪問對應的網址進入寶塔Linux控制面板

輸入賬號和密碼登錄進去:

3.2 搭建基礎環(huán)境

  1. 在寶塔面板左下的 軟件商店 搜索安裝:
  • Tomcat(下載這個只是為了java,它里面包含java的)
  • MySQL 8.0(數據庫)
  • Nginx

3.3 項目部署與啟動

前端部署:

去添加站點,域名暫時是自己的公網(寶塔左上角那個地址)

打開新建的站點,把里面的文件全刪掉,再把自己的前端dist里的文件全選拖進去上傳

啟動項目

后端部署:

上傳Jar包:「文件」→ 進入/www/wwwroot,創(chuàng)建user-center-backend目錄(自行創(chuàng)建存放后端文件的目錄),上傳本地Jar包。

在站點添加java項目,特別注意端口。(我們項目的運行端口是8080,這里如果顯示8080被占用,可能是Tomcat,去軟件商店停止他)

啟動項目:點擊「啟動」

記得在服務器放行8080端口,不然是無法成功啟動的

查看狀態(tài)變?yōu)椤高\行中」,并且有CPU占用(剛啟動可能會很高,過一會就會降下來了)

3.4 優(yōu)缺點

  • 優(yōu)點:可視化操作、新手友好(是真的方便)、環(huán)境搭建快、支持進程守護和日志查看。
  • 缺點:依賴面板工具,占用少量服務器資源。

四、方式三:Docker容器化部署(標準化,可移植性強)

通過Docker容器封裝項目及依賴環(huán)境,實現(xiàn)“一次構建、到處運行”,解決環(huán)境不一致問題,適合多環(huán)境部署、集群化場景。

4.1 服務器安裝Docker

遠程連接服務器,安裝Docker / 或使用寶塔Linux的服務商店下載Docker
這里我使用寶塔下載:

4.2 構建Docker鏡像

制作鏡像
Dockerfile 用于指定構建 Docker 鏡像的方法,Dockerfile 一般情況下不需要完全從 0 自己寫,建議去 github、gitee 等托管平臺參考同類項目(比如 springboot)

Dockerfile 編寫內容總覽:
 ● FROM 依賴的基礎鏡像
 ● WORKDIR 工作目錄
 ● COPY 從本機復制文件
 ● RUN 執(zhí)行命令
 ● CMD / ENTRYPOINT(附加額外參數)指定運行容器時默認執(zhí)行的命令

  1. 在后端項目根目錄創(chuàng)建Dockerfile文件(本地創(chuàng)建后上傳到服務器項目目錄):
# 基礎鏡像(JDK 1.8)
FROM openjdk:8-jdk-alpine
# 作者信息
LABEL maintainer="your-name"
# 復制Jar包到容器
COPY target/user-center-0.0.1-SNAPSHOT.jar app.jar
# 暴露端口
EXPOSE 8080
# 啟動命令
ENTRYPOINT ["java","-jar","/app.jar","--spring.profiles.active=prod"]
  1. 上傳Dockerfile(我使用git上傳),然后構建鏡像:
cd user-center-backend
docker build -t user-center-backend:v1.0 .
  1. 查看鏡像:
docker images

前端:前端的dockerFilenginx.conf,這些也是需要上傳到git倉庫里,然后clone過去就行,構建鏡像命令:先進入上傳的前端項目目錄中cd user-center-frontend,再構建docker build -t user-center-frontend:v0.0.1 .(跟后端的操作都大差不差)

在Docker管理器里也可以看到制作成功的docker鏡像:

4.3 啟動Docker容器

  1. 直接啟動容器:
后端:docker run -p 8080:8080 user-center-backend:v0.0.1
前端:docker run -p 80:80 -d user-center-frontend:v0.0.1
  • 參數說明:-d(后臺運行)、-p 8080:8080(端口映射,主機端口:容器端口)。

若啟動后端時出現(xiàn)這這個報錯的話(因運存不足無法給進程分配更多的文件句柄數而異常退出):

[root@VM-0-5-opencloudos user-center-frontend]# docker run -p 8080:8080 user-center-backend    v1.0
Unable to find image 'user-center-backend:latest' locally

我們可以改為執(zhí)行:

docker run --ulimit nofile=1024 -p 8080:8080 user-center-backend:v1.0

4.4 優(yōu)缺點

  • 優(yōu)點:環(huán)境隔離、可移植性強、部署標準化、支持集群擴展。
  • 缺點:需學習Docker基礎命令,初次配置稍復雜。

五、三種部署方式對比

部署方式核心優(yōu)勢適用場景操作難度
原始命令部署輕量化、無額外依賴熟悉Linux命令、小型項目難+麻煩
寶塔Linux部署可視化、新手友好、部署高效新手、快速部署需求、中小型項目
Docker容器部署環(huán)境隔離、可移植性強、支持集群多環(huán)境部署、大型項目、集群化場景

補充:Docker容器平臺托管

額外提一嘴:還有一種 Docker容器平臺托管 的方式(如微信云托管):

特點:傻瓜式部署,只需上傳對應的文件即可(平臺幫忙部署),巨方便。(這里就不展開了)

以上就是SpringBoot項目部署的四種方式詳解的詳細內容,更多關于SpringBoot項目部署方式的資料請關注腳本之家其它相關文章!

相關文章

  • Java FutureTask解析與實戰(zhàn)指南

    Java FutureTask解析與實戰(zhàn)指南

    本文解析FutureTask,支持異步執(zhí)行、取消、結果獲取,結合ExecutorService實現(xiàn)高效任務管理,適用于并發(fā)編程中的響應優(yōu)化與進度監(jiān)控,感興趣的朋友一起看看吧
    2025-07-07
  • Java基礎之垃圾回收機制詳解

    Java基礎之垃圾回收機制詳解

    這篇文章主要介紹了Java基礎之垃圾回收機制詳解,文中有非常詳細的代碼示例,對正在學習java基礎的小伙伴們有非常好的幫助,需要的朋友可以參考下
    2021-04-04
  • Spring @CrossOrigin 注解原理實現(xiàn)

    Spring @CrossOrigin 注解原理實現(xiàn)

    這篇文章主要介紹了Spring @CrossOrigin 注解原理實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-07-07
  • SpringBoot項目啟動健康檢查的操作方法

    SpringBoot項目啟動健康檢查的操作方法

    在現(xiàn)代的微服務架構中,容器化技術已經成為一種主流的部署方式,Docker 作為容器化技術的代表,提供了一種輕量級、可移植的解決方案,然而,僅僅將應用容器化是不夠的,我們還需要確保這些容器在運行時能夠保持健康狀態(tài),這就是健康檢查發(fā)揮作用的地方
    2024-12-12
  • springmvc九大組件之HandlerAdapter詳解

    springmvc九大組件之HandlerAdapter詳解

    這篇文章主要介紹了springmvc九大組件之HandlerAdapter詳解,RequestMappingHandlerAdapter支持的handler的類型是HandlerMethod,而HandlerMethod是通過解析@RequestMapping注解獲得的,需要的朋友可以參考下
    2023-11-11
  • 一文詳解Java中的反射api

    一文詳解Java中的反射api

    這篇文章主要為大家詳細介紹了Java中的6個反射api,文中的示例代碼講解詳細,具有一定的借鑒價值,有需要的小伙伴可以跟隨小編一起學習一下
    2025-02-02
  • SpringBoot項目開發(fā)常用技術整合

    SpringBoot項目開發(fā)常用技術整合

    今天給大家分享springboot項目開發(fā)常用技術整合,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2021-08-08
  • Java應用服務器之tomcat會話復制集群配置的示例詳解

    Java應用服務器之tomcat會話復制集群配置的示例詳解

    這篇文章主要介紹了Java應用服務器之tomcat會話復制集群配置的相關知識,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-07-07
  • java 取模與取余的區(qū)別說明

    java 取模與取余的區(qū)別說明

    這篇文章主要介紹了java 取模與取余的區(qū)別說明,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-10-10
  • Java POI實現(xiàn)Excel導入導出通用方法與樣式處理

    Java POI實現(xiàn)Excel導入導出通用方法與樣式處理

    Apache POI庫是Java領域處理Microsoft Office文件的關鍵工具,該項目使用POI 3.17版本實現(xiàn)Excel文件的讀寫功能,本文介紹Excel導入導出的步驟以及如何添加和維護樣式,包括字體、顏色、邊框和對齊等,需要的朋友可以參考下
    2025-08-08

最新評論

洪湖市| 扬中市| 新竹市| 彰化市| 石渠县| 宝清县| 龙里县| 嘉兴市| 鹤庆县| 安达市| 皋兰县| 襄垣县| 婺源县| 双流县| 班玛县| 昌黎县| 金溪县| 安化县| 昆明市| 托克逊县| 惠安县| 梓潼县| 巧家县| 库伦旗| 凤台县| 铅山县| 廉江市| 衡山县| 汶上县| 定安县| 微博| 玛纳斯县| 平乡县| 徐水县| 留坝县| 千阳县| 武胜县| 樟树市| 新绛县| 固原市| 灌阳县|