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

部署SpringBoot項目到Linux服務(wù)器數(shù)據(jù)盤的完整流程

 更新時間:2025年11月18日 09:14:01   作者:悟空碼字  
這篇文章講述了如何在Linux服務(wù)器上掛載數(shù)據(jù)盤并部署SpringBoot項目,具體步驟包括查看磁盤狀態(tài)、分區(qū)與格式化、掛載分區(qū)、配置開機(jī)自動掛載等,以及上傳項目文件、編寫啟動腳本、啟動項目并測試、配置Systemd服務(wù)管理,需要的朋友可以參考下

將Spring Boot項目部署到Linux服務(wù)器數(shù)據(jù)盤是一個常見的操作。首先是如何掛載數(shù)據(jù)盤,然后是如何部署Spring Boot項目。

第一部分:掛載數(shù)據(jù)盤

假設(shè)你有一臺新的Linux服務(wù)器(以CentOS 7/Alibaba Cloud Linux為例),并有一塊新的數(shù)據(jù)盤(例如 /dev/vdb)需要掛載到 /data 目錄。

注意: 操作磁盤有一定風(fēng)險,請確保已備份重要數(shù)據(jù)并進(jìn)行核對。磁盤標(biāo)識(如 /dev/vdb)可能因環(huán)境而異,請使用 lsblk 或 fdisk -l 命令確認(rèn)。

步驟 1: 查看磁盤狀態(tài)

1、連接到你的服務(wù)器:

ssh your_username@your_server_ip

切換到root用戶:

sudo -i

2、檢查當(dāng)前磁盤情況:

fdisk -l

或者使用更清晰的命令:

lsblk

你會看到類似這樣的輸出,vda 通常是系統(tǒng)盤,vdb 就是我們要操作的數(shù)據(jù)盤(未掛載)。

NAME   MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
vda    253:0    0  40G  0 disk /
vdb    253:16   0 100G  0 disk

步驟 2: 分區(qū)與格式化

1、為數(shù)據(jù)盤創(chuàng)建分區(qū)(如果磁盤是新盤,通常創(chuàng)建一個主分區(qū)即可):

fdisk /dev/vdb

在 fdisk 交互界面中,依次輸入以下命令:

n:新建分區(qū)

p:選擇主分區(qū)

1:分區(qū)號(默認(rèn)1)

回車:選擇起始扇區(qū)(默認(rèn))

回車:選擇結(jié)束扇區(qū)(默認(rèn),使用整個磁盤)

w:寫入分區(qū)表并退出

2、檢查新分區(qū):

再次運行 lsblk,現(xiàn)在你應(yīng)該能看到新分區(qū) /dev/vdb1。

NAME   MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
vda    253:0    0  40G  0 disk /
vdb    253:16   0 100G  0 disk
└─vdb1 253:17   0 100G  0 part

3、格式化分區(qū)(這里使用 ext4 文件系統(tǒng)):

mkfs.ext4 /dev/vdb1

等待格式化完成。

步驟 3: 掛載分區(qū)

1、創(chuàng)建掛載點目錄(例如 /data):

mkdir /data

2、臨時掛載分區(qū)(重啟后會失效,用于測試):

mount /dev/vdb1 /data

3、驗證掛載是否成功:

df -h

你應(yīng)該能在輸出中看到 /dev/vdb1 掛載到了 /data 目錄。

步驟 4: 配置開機(jī)自動掛載

1、獲取分區(qū)的UUID(推薦使用UUID,它比設(shè)備名更穩(wěn)定):

blkid /dev/vdb1

輸出類似:/dev/vdb1: UUID=“c6b4c7a1-7b4a-4f4a-b6a1-1234567890ab” TYPE=“ext4”

2、編輯 /etc/fstab 文件:

vi /etc/fstab

3、在文件末尾添加一行:

UUID=c6b4c7a1-7b4a-4f4a-b6a1-1234567890ab /data ext4 defaults 0 0

解釋:

UUID=…:你剛才用 blkid 命令查到的實際UUID。

/data:掛載點。

ext4:文件系統(tǒng)類型。

defaults:掛載參數(shù)。

0:不備份。

0:不檢查磁盤順序。

4、驗證 fstab 配置是否正確:

mount -a

這個命令會掛載所有在 fstab 中定義的文件系統(tǒng)。如果沒有任何報錯,說明配置正確。你可以再次運行 df -h 確認(rèn) /data 依然掛載著。

至此,數(shù)據(jù)盤已經(jīng)成功掛載并配置為開機(jī)自動掛載。

第二部分:部署Spring Boot項目

我們將把項目部署到剛掛載的數(shù)據(jù)盤(/data 目錄)下。

前提準(zhǔn)備

1、安裝Java環(huán)境:

你的Spring Boot項目大概率需要JRE/JDK。首先檢查是否已安裝:

java -version

如果未安裝,請安裝(例如安裝OpenJDK 8):

yum install -y java-1.8.0-openjdk-devel

(請根據(jù)你的項目要求選擇對應(yīng)的JDK版本,如JDK 11或17)

步驟 1: 上傳項目文件

1、在 /data 目錄下創(chuàng)建項目所需目錄:

mkdir -p /data/app/your-project-name
mkdir -p /data/app/your-project-name/logs

your-project-name:是你的項目名稱,例如 myapp。

logs:用于存放項目日志。

2、上傳你的JAR包:

使用 scp、sftp 或通過Git拉取等方式,將打包好的Spring Boot的 *.jar 文件上傳到 /data/app/your-project-name/ 目錄。
例如,從本地機(jī)器上傳:

# 在你的本地終端執(zhí)行,不是在服務(wù)器上!
scp target/your-springboot-app.jar your_username@your_server_ip:/data/app/your-project-name/

步驟 2: 編寫應(yīng)用啟動腳本

為了管理方便,我們編寫一個Shell腳本來自動啟動、停止應(yīng)用。

1、在項目目錄創(chuàng)建腳本文件,例如 app.sh:

vi /data/app/your-project-name/app.sh

2、輸入以下內(nèi)容(請根據(jù)你的實際情況修改 JAR_NAME、APP_NAME 和 Xmx 等參數(shù)):

#!/bin/bash
# 配置項
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk # 根據(jù)你的實際路徑修改
export JRE_HOME=$JAVA_HOME/jre
export PATH=$PATH:$JAVA_HOME/bin

APP_HOME=/data/app/your-project-name
JAR_NAME="your-springboot-app.jar"
APP_NAME="my-springboot-app"
LOG_PATH=$APP_HOME/logs/$APP_NAME.log
PID_FILE=$APP_HOME/application.pid

# JVM參數(shù)
JAVA_OPTS="-Xms512m -Xmx1024m -XX:+UseG1GC"

cd $APP_HOME

function start() {
    if [ -f "$PID_FILE" ]; then
        pid=$(cat $PID_FILE)
        if kill -0 $pid 2>/dev/null; then
            echo "App $APP_NAME is already running (pid: $pid)."
            exit 1
        else
            rm -f $PID_FILE
        fi
    fi
    echo "Starting $APP_NAME..."
    # nohup 后臺運行,輸出日志到指定文件
    nohup java $JAVA_OPTS -jar $JAR_NAME > $LOG_PATH 2>&1 &
    echo $! > $PID_FILE
    echo "Started $APP_NAME (pid: $!)"
}

function stop() {
    if [ -f "$PID_FILE" ]; then
        pid=$(cat $PID_FILE)
        echo "Stopping $APP_NAME (pid: $pid)..."
        kill $pid
        rm -f $PID_FILE
        echo "Stopped $APP_NAME."
    else
        echo "PID file not found. Stop operation failed."
    fi
}

function status() {
    if [ -f "$PID_FILE" ]; then
        pid=$(cat $PID_FILE)
        if kill -0 $pid 2>/dev/null; then
            echo "$APP_NAME is running (pid: $pid)."
        else
            echo "$APP_NAME PID file exists but process is not running."
        fi
    else
        echo "$APP_NAME is not running."
    fi
}

case "$1" in
    start)
        start
        ;;
    stop)
        stop
        ;;
    restart)
        stop
        sleep 3
        start
        ;;
    status)
        status
        ;;
    *)
        echo "Usage: $0 {start|stop|restart|status}"
        exit 1
        ;;
esac

3、給腳本添加執(zhí)行權(quán)限:

chmod +x /data/app/your-project-name/app.sh

步驟 3: 啟動項目并測試

1、啟動項目:

cd /data/app/your-project-name
./app.sh start

2、查看啟動日志和狀態(tài):

./app.sh status
tail -100f logs/my-springboot-app.log

觀察日志是否有錯誤,確認(rèn)應(yīng)用已正常啟動。

3、測試訪問:

如果你的應(yīng)用有Web接口,使用 curl 或在瀏覽器中訪問你的服務(wù)器IP和端口,看是否返回預(yù)期結(jié)果。

步驟 4: (強(qiáng)烈推薦)配置Systemd服務(wù)管理

使用Systemd可以更專業(yè)地管理應(yīng)用,實現(xiàn)更完善的開機(jī)自啟和監(jiān)控。

1、創(chuàng)建service文件:

vi /etc/systemd/system/your-project-name.service

2、輸入以下內(nèi)容(同樣,需要修改路徑和參數(shù)):

[Unit]
Description=My Spring Boot Application
After=syslog.target network.target

[Service]
Type=simple
User=root
Group=root

# 項目根目錄
WorkingDirectory=/data/app/your-project-name
# 啟動命令
ExecStart=/usr/bin/java -Xms512m -Xmx1024m -jar your-springboot-app.jar
# 指定日志輸出
StandardOutput=file:/data/app/your-project-name/logs/systemd-out.log
StandardError=file:/data/app/your-project-name/logs/systemd-err.log

# 應(yīng)用崩潰后自動重啟
Restart=on-failure
RestartSec=30

[Install]
WantedBy=multi-user.target

3、重新加載Systemd配置并啟用服務(wù):

systemctl daemon-reload
systemctl enable your-project-name.service # 設(shè)置開機(jī)自啟
systemctl start your-project-name.service  # 啟動服務(wù)
systemctl status your-project-name.service # 查看狀態(tài)

現(xiàn)在,Spring Boot項目已經(jīng)部署在數(shù)據(jù)盤上,并且可以通過Systemd進(jìn)行管理了。你可以使用 systemctl stop/start/restart your-project-name 來管理應(yīng)用。

以上就是部署SpringBoot項目到Linux服務(wù)器數(shù)據(jù)盤的完整流程的詳細(xì)內(nèi)容,更多關(guān)于部署SpringBoot到Linux數(shù)據(jù)盤的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • springboot使用JdbcTemplate完成對數(shù)據(jù)庫的增刪改查功能

    springboot使用JdbcTemplate完成對數(shù)據(jù)庫的增刪改查功能

    這篇文章主要介紹了springboot使用JdbcTemplate完成對數(shù)據(jù)庫的增刪改查功能,需要的朋友可以參考下
    2017-12-12
  • Vue.Js及Java實現(xiàn)文件分片上傳代碼實例

    Vue.Js及Java實現(xiàn)文件分片上傳代碼實例

    這篇文章主要介紹了Vue.Js及Java實現(xiàn)文件分片上傳代碼實例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-06-06
  • Java?Unsafe創(chuàng)建對象的方法實現(xiàn)

    Java?Unsafe創(chuàng)建對象的方法實現(xiàn)

    Java中使用Unsafe實例化對象是一項十分有趣而且強(qiáng)大的功能,本文主要介紹了Java?Unsafe創(chuàng)建對象的方法實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-07-07
  • Java中的隱式參數(shù)和顯示參數(shù)實例詳解

    Java中的隱式參數(shù)和顯示參數(shù)實例詳解

    這篇文章主要介紹了Java中的隱式參數(shù)和顯示參數(shù)是什么,另外還有兩個小例子幫助大家理解,需要的朋友可以參考下。
    2017-08-08
  • 使用lombok@Data存在extends時需要注意的問題

    使用lombok@Data存在extends時需要注意的問題

    在Java編程中,正確實現(xiàn)equals方法是保證對象比較一致性的關(guān)鍵,使用instanceof檢查類型可能導(dǎo)致違反對稱性原則,即當(dāng)子類和父類都重寫equals時可能出現(xiàn)a.equals(b)不等于b.equals(a)的情況,Lombok的@EqualsAndHashCode注解可以通過callSuper=true參數(shù)
    2024-10-10
  • SpringCloud?Config之動態(tài)配置管理與高可用治理方式

    SpringCloud?Config之動態(tài)配置管理與高可用治理方式

    這篇文章主要介紹了SpringCloud?Config之動態(tài)配置管理與高可用治理方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2025-05-05
  • Java實現(xiàn)經(jīng)典俄羅斯方塊游戲

    Java實現(xiàn)經(jīng)典俄羅斯方塊游戲

    俄羅斯方塊是一個最初由阿列克謝帕吉特諾夫在蘇聯(lián)設(shè)計和編程的益智類視頻游戲。本文將利用Java實現(xiàn)這一經(jīng)典的小游戲,需要的可以參考一下
    2022-01-01
  • Java獲取本機(jī)IP地址的三種方法總結(jié)

    Java獲取本機(jī)IP地址的三種方法總結(jié)

    這篇文章主要為大家詳細(xì)介紹了java獲取本機(jī)IP地址的三種方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-04-04
  • 詳解java各種集合的線程安全

    詳解java各種集合的線程安全

    這篇文章主要介紹了詳解java各種集合的線程安全,小編覺得挺不錯的,這里分享給大家,供需要的朋友參考。
    2017-10-10
  • Java批量操作如何提升ORM框架的批處理性能

    Java批量操作如何提升ORM框架的批處理性能

    本文介紹的批量插入、更新、刪除和讀取優(yōu)化技術(shù),以及性能監(jiān)控與調(diào)優(yōu)方法,為開發(fā)者提供了全面的批處理性能優(yōu)化思路,感興趣的朋友一起看看吧
    2025-05-05

最新評論

苍山县| 元谋县| 霞浦县| 彭山县| 沙洋县| 镇远县| 英吉沙县| 甘泉县| 马龙县| 怀集县| 奉贤区| 阜南县| 乐东| 澄迈县| 黑水县| 安丘市| 本溪市| 富源县| 孟津县| 遂平县| 张家港市| 榆林市| 永兴县| 江油市| 禄丰县| 木兰县| 内乡县| 临潭县| 浮梁县| 凌云县| 南郑县| 航空| 佛冈县| 镇平县| 沾益县| 翼城县| 夏津县| 宁夏| 宣城市| 日土县| 陈巴尔虎旗|