新聞中心
在Linux環(huán)境下部署并運(yùn)行JAR包項(xiàng)目通常涉及以下幾個(gè)步驟:

1、環(huán)境準(zhǔn)備
2、上傳JAR包到服務(wù)器
3、安裝Java運(yùn)行環(huán)境
4、設(shè)置運(yùn)行腳本
5、啟動(dòng)和停止服務(wù)
6、配置系統(tǒng)服務(wù)(可選)
接下來(lái),我將詳細(xì)解釋每一步的操作。
1. 環(huán)境準(zhǔn)備
確保你有一個(gè)可以連接的Linux服務(wù)器,并且擁有SSH訪問(wèn)權(quán)限,你需要知道你的服務(wù)器的IP地址、SSH端口以及登錄憑據(jù)。
2. 上傳JAR包到服務(wù)器
你可以通過(guò)SCP、rsync或FTP等方式將本地的jar文件上傳到服務(wù)器上,以下是使用SCP命令的示例:
scp /path/to/your/jarfile.jar username@server_ip:/path/to/destination/
3. 安裝Java運(yùn)行環(huán)境
大多數(shù)現(xiàn)代Linux發(fā)行版默認(rèn)不帶有Java運(yùn)行環(huán)境,因此需要手動(dòng)安裝,你可以使用包管理器如apt或yum來(lái)安裝Java,在基于Debian的系統(tǒng)中,可以使用以下命令:
sudo apt update sudo apt install openjdk11jdk
安裝完成后,驗(yàn)證Java是否安裝成功:
java version
4. 設(shè)置運(yùn)行腳本
創(chuàng)建一個(gè)shell腳本來(lái)啟動(dòng)你的jar包,例如start.sh:
#!/bin/bash java jar /path/to/your/jarfile.jar > /path/to/logfile.log 2>&1 &
這個(gè)腳本做了幾件事情:
#!/bin/bash 指定腳本使用bash shell來(lái)執(zhí)行。
java jar /path/to/your/jarfile.jar 啟動(dòng)jar包。
> /path/to/logfile.log 將標(biāo)準(zhǔn)輸出重定向到日志文件。
2>&1 將標(biāo)準(zhǔn)錯(cuò)誤也重定向到標(biāo)準(zhǔn)輸出。
& 讓程序在后臺(tái)運(yùn)行。
記得給腳本執(zhí)行權(quán)限:
chmod +x start.sh
5. 啟動(dòng)和停止服務(wù)
你可以通過(guò)運(yùn)行剛才創(chuàng)建的腳本來(lái)啟動(dòng)你的應(yīng)用:
./start.sh
要停止應(yīng)用,你需要先找到應(yīng)用進(jìn)程的ID,然后使用kill命令,假設(shè)你知道應(yīng)用的進(jìn)程ID是12345:
kill 12345
為了方便起見(jiàn),你也可以創(chuàng)建一個(gè)停止腳本,例如stop.sh:
#!/bin/bash
ps aux | grep 'java jar /path/to/your/jarfile.jar' | grep v grep | awk '{print $2}' | xargs kill
給予執(zhí)行權(quán)限:
chmod +x stop.sh
6. 配置系統(tǒng)服務(wù)(可選)
如果你希望你的應(yīng)用在服務(wù)器啟動(dòng)時(shí)自動(dòng)運(yùn)行,可以將啟動(dòng)腳本配置為系統(tǒng)服務(wù),具體方法取決于你的Linux發(fā)行版,在一些系統(tǒng)中,你可以編輯/etc/init.d/目錄下的腳本,并在其中添加啟動(dòng)和停止命令。
你可以創(chuàng)建一個(gè)名為myapp的服務(wù)腳本,并在其中包含對(duì)start.sh和stop.sh的調(diào)用:
#!/bin/sh
BEGIN INIT INFO
Provides: myapp
RequiredStart: $remote_fs $syslog
RequiredStop: $remote_fs $syslog
DefaultStart: 2 3 4 5
DefaultStop: 0 1 6
ShortDescription: starts the myapp web server
Description: starts myapp using startstopdaemon
END INIT INFO
PATH=/usr/local/sbin:/usr/local/bin:sbin:bin:/sbin:/bin
DAEMON=/path/to/start.sh
NAME=myapp
DESC=myapp
test x $DAEMON || exit 0
Include nginx defaults if available
if [ f /etc/default/$NAME ]; then
. /etc/default/$NAME
fi
set e
case "$1" in
start)
echo "Starting $DESC: $NAME"
/path/to/start.sh
;;
stop)
echo "Stopping $DESC: $NAME"
/path/to/stop.sh
;;
restart|forcereload)
echo "Restarting $DESC: $NAME"
/path/to/stop.sh
/path/to/start.sh
;;
*)
N=/etc/init.d/$NAME
echo "Usage: $N {start|stop|restart|forcereload}" >&2
exit 1
;;
esac
exit 0
記得給腳本執(zhí)行權(quán)限,并將其鏈接到適當(dāng)?shù)倪\(yùn)行級(jí)別:
sudo chmod +x /etc/init.d/myapp sudo updaterc.d myapp defaults
以上步驟應(yīng)該涵蓋了在Linux上部署和運(yùn)行JAR包項(xiàng)目的基本操作,根據(jù)不同的應(yīng)用需求和服務(wù)器環(huán)境,可能還需要進(jìn)行額外的配置和優(yōu)化。
分享文章:linux部署jar包項(xiàng)目并運(yùn)行怎么操作
分享路徑:http://fisionsoft.com.cn/article/dhojhec.html


咨詢(xún)
建站咨詢(xún)
