日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當前位置:首頁 > 科技  > 軟件

告別Java -Jar啟動!告訴你啟動單機SpringBoot服務的正確操作方式

來源: 責編: 時間:2024-01-08 09:17:56 246觀看
導讀一、安裝Java運行時環境,這里我們使用開源免費的OpenJDK11查看OpenJDK11安裝包列表yum list|grep java-11-openjdk執行安裝命令。yum install -y java-11-openjdk.x86_64查看安裝成功的版本。[root@localhost ~]# java

ufC28資訊網——每日最新資訊28at.com

一、安裝Java運行時環境,這里我們使用開源免費的OpenJDK11

查看OpenJDK11安裝包列表ufC28資訊網——每日最新資訊28at.com

yum list|grep java-11-openjdk

執行安裝命令。ufC28資訊網——每日最新資訊28at.com

yum install -y java-11-openjdk.x86_64

查看安裝成功的版本。ufC28資訊網——每日最新資訊28at.com

[root@localhost ~]# java -versionopenjdk version "11.0.21" 2023-10-17 LTSOpenJDK Runtime Environment (Red_Hat-11.0.21.0.9-1.el7_9) (build 11.0.21+9-LTS)OpenJDK 64-Bit Server VM (Red_Hat-11.0.21.0.9-1.el7_9) (build 11.0.21+9-LTS, mixed mode, sharing)

設置JAVA_HOME。ufC28資訊網——每日最新資訊28at.com

通過命令查找java安裝的真實路徑,使用which java找到的是軟鏈接,需要通過ll命令一層層查找真實路徑,我們這邊最終/usr/bin/java真實的路徑為 /usr/lib/jvm/java-11-openjdk-11.0.21.0.9-1.el7_9.x86_64/bin/java,那么我們的JAVA_HOME就是java的安裝目錄/usr/lib/jvm/java-11-openjdk-11.0.21.0.9-1.el7_9.x86_64,去掉 末尾的 /bin/java 。ufC28資訊網——每日最新資訊28at.com

[root@localhost ~]# which java/usr/bin/java[root@localhost ~]# ll /usr/bin/javalrwxrwxrwx 1 root root 22 Jan  2 16:13 /usr/bin/java -> /etc/alternatives/java[root@localhost ~]# ll /etc/alternatives/javalrwxrwxrwx 1 root root 64 Jan  2 16:13 /etc/alternatives/java -> /usr/lib/jvm/java-11-openjdk-11.0.21.0.9-1.el7_9.x86_64/bin/java[root@localhost ~]# ll /usr/lib/jvm/java-11-openjdk-11.0.21.0.9-1.el7_9.x86_64/bin/java-rwxr-xr-x 1 root root 13192 Nov 15 00:51 /usr/lib/jvm/java-11-openjdk-11.0.21.0.9-1.el7_9.x86_64/bin/java

編輯/etc/profile文件,添加JAVA_HOME配置,并使用source /etc/profile命令使環境配置生效,不需要配置CLASS_APTH, rt.jar, tools.jar。ufC28資訊網——每日最新資訊28at.com

vi /etc/profile
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-11.0.21.0.9-1.el7_9.x86_64export PATH=$PATH:$JAVA_HOME/bin
source /etc/profile

二、編寫啟動、停止SpringBoot服務的Shell腳本

定義運行服務需要的參數,服務名稱、服務程序路徑、日志文件等,這里可以感覺自己的需要來定義,包括可以添加java -jar的運行參數等。ufC28資訊網——每日最新資訊28at.com

#!/bin/bashAPP_NAME="gitegg-application.jar" # 命令號提示服務名APP_PATH="/opt/server/gitegg-application.jar" # jar包文件路徑LOG_FILE="/opt/server/gitegg-application.log" # 日志輸出文件路徑,一般我們服務會記錄日志,如果不想在這里輸出,那么可以填寫 /dev/null

定義命令腳本運行提示,如果輸入的命令格式錯誤,這里可以給出正確的命令格式等。ufC28資訊網——每日最新資訊28at.com

#使用說明,提示輸入參數usage() { echo "Usage: sh start_server.sh [start|stop|restart|status]" exit 1}

定義檢查服務是否正在運行的函數。ufC28資訊網——每日最新資訊28at.com

#檢查服務是否正在運行is_running(){ pid=`ps -ef|grep $APP_PATH|grep -v grep|awk '{print $2}' `if [ -z "${pid}" ]; then return 1 else return 0 fi}

定義啟動服務的函數。ufC28資訊網——每日最新資訊28at.com

#啟動服務start(){  is_running  if [ $? -eq "0" ]; then    echo "${APP_NAME} is already running. pid=${pid} ."  else    nohup java -jar $APP_PATH > $LOG_FILE 2>&1 &  fi}

定義停止服務的函數。ufC28資訊網——每日最新資訊28at.com

#停止服務stop(){  is_running  if [ $? -eq "0" ]; then    kill -9 $pid  else    echo "${APP_NAME} is not running"  fi}

定義查看服務運行狀態的函數。ufC28資訊網——每日最新資訊28at.com

#顯示運行狀態status(){  is_running  if [ $? -eq "0" ]; then    echo "${APP_NAME} is running. Pid is ${pid}"  else    echo "${APP_NAME} is NOT running."  fi}

定義服務重啟函數。ufC28資訊網——每日最新資訊28at.com

#重啟服務restart(){  stop  start}

腳本接收參數,根據參數執行對應的命令函數。ufC28資訊網——每日最新資訊28at.com

#選擇要運行的命令case "$1" in  "start")    start    ;;  "stop")    stop    ;;  "status")    status    ;;  "restart")    restart    ;;  *)    usage    ;;esac

設置腳本執行權限,填寫自己腳本文件的實際路徑。ufC28資訊網——每日最新資訊28at.com

chmod +x /opt/server/start_server.sh

完整的執行腳本如下:

#!/bin/bashAPP_NAME="gitegg-application.jar" # 命令號提示服務名APP_PATH="/opt/server/gitegg-application.jar" # jar包文件路徑LOG_FILE="/opt/server/gitegg-application.log" # 日志輸出文件路徑,一般我們服務會記錄日志,如果不想在這里輸出,那么可以填寫 /dev/null #使用說明,提示輸入參數usage() { echo "Usage: sh start_server.sh [start|stop|restart|status]" exit 1} #檢查服務是否正在運行is_running(){ pid=`ps -ef|grep $APP_PATH|grep -v grep|awk '{print $2}' `if [ -z "${pid}" ]; then return 1 else return 0 fi} #啟動服務start(){  is_running  if [ $? -eq "0" ]; then    echo "${APP_NAME} is already running. pid=${pid} ."  else    nohup java -jar $APP_PATH > $LOG_FILE 2>&1 &  fi} #停止服務stop(){  is_running  if [ $? -eq "0" ]; then    kill -9 $pid  else    echo "${APP_NAME} is not running"  fi} #顯示運行狀態status(){  is_running  if [ $? -eq "0" ]; then    echo "${APP_NAME} is running. Pid is ${pid}"  else    echo "${APP_NAME} is NOT running."  fi} #重啟服務restart(){  stop  start} #選擇要運行的命令case "$1" in  "start")    start    ;;  "stop")    stop    ;;  "status")    status    ;;  "restart")    restart    ;;  *)    usage    ;;esac

三、編寫啟動、停止SpringBoot服務的Shell腳本

在CentOS中的服務是由systemd管理的,可以通過systemctl命令進行服務運行的相關操作。ufC28資訊網——每日最新資訊28at.com

新增管理服務gitegg-server.service,服務名稱可以自己定義,此服務放到 /lib/systemd/system/ 目錄。ufC28資訊網——每日最新資訊28at.com

vi /lib/systemd/system/gitegg-server.service

編寫服務內容。ufC28資訊網——每日最新資訊28at.com

[Unit]                                                                                                                                                                                                               Description=gitegg-server                                                                                                                                                                                  After=docker.socket early-docker.target network.targetWants=network-online.target docker.serviceRequires=docker.socket                                                                                                                                                                                                                                                                                                                                                                                                                 [Service]                                                                                                                                                                                                            Type=forking                                                                                                                                                                                                         ExecStart=/opt/server/start_server.sh startExecStop=/opt/server/start_server.sh stop            ExecSatus=/opt/server/start_server.sh status                                              ExecRestart=/opt/server/start_server.sh restart                                                                                                                                                                                                                                                      [Install]                                                                                                                                                                                                            WantedBy=multi-user.target

保存并重新加載配置。ufC28資訊網——每日最新資訊28at.com

systemctl daemon-reload

設置服務開機啟動。ufC28資訊網——每日最新資訊28at.com

systemctl enable gitegg-server.service

可以直接使用systemctl 命令操作服務。ufC28資訊網——每日最新資訊28at.com

# 啟動服務systemctl start gitegg-server.service# 關閉服務systemctl stop gitegg-server.service# 查看服務狀態systemctl status gitegg-server.service# 重啟服務systemctl restart gitegg-server.service

本文鏈接:http://www.www897cc.com/showinfo-26-57925-0.html告別Java -Jar啟動!告訴你啟動單機SpringBoot服務的正確操作方式

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: 八張圖講清楚Mmap實現原理

下一篇: JS 中如何克隆對象?你學會了嗎?

標簽:
  • 熱門焦點
  • 鴻蒙OS 4.0公測機型公布:甚至連nova6都支持

    華為全新的HarmonyOS 4.0操作系統將于今天下午正式登場,官方在發布會之前也已經正式給出了可升級的機型產品,這意味著這些機型會率先支持升級享用。這次的HarmonyOS 4.0支持
  • 6月安卓手機好評榜:魅族20 Pro蟬聯冠軍

    性能榜和性價比榜之后,我們來看最后的安卓手機好評榜,數據來源安兔兔評測,收集時間2023年6月1日至6月30日,僅限國內市場。第一名:魅族20 Pro好評率:95%5月份的時候魅族20 Pro就是
  • 分布式系統中的CAP理論,面試必問,你理解了嘛?

    對于剛剛接觸分布式系統的小伙伴們來說,一提起分布式系統,就感覺高大上,深不可測。而且看了很多書和視頻還是一臉懵逼。這篇文章主要使用大白話的方式,帶你理解一下分布式系統
  • 2023年,我眼中的字節跳動

    此時此刻(2023年7月),字節跳動從未上市,也從未公布過任何官方的上市計劃;但是這并不妨礙它成為中國最受關注的互聯網公司之一。從2016-17年的抖音強勢崛起,到2018年的“頭騰
  • 破圈是B站頭上的緊箍咒

    來源 | 光子星球撰文 | 吳坤諺編輯 | 吳先之每年的暑期檔都少不了瞄準追劇女孩們的古偶劇集,2021年有優酷的《山河令》,2022年有愛奇藝的《蒼蘭訣》,今年卻輪到小破站抓住了追
  • 10天營收超1億美元,《星鐵》比《原神》差在哪?

    來源:伯虎財經作者:陳平安即便你沒玩過《原神》,你一定聽說過的它的大名。恨它的人把《原神》開服那天稱作是中國游戲史上最黑暗的一天,有粉絲因為索尼在PS平臺上線《原神》,怒而
  • 大廠卷向扁平化

    來源:新熵作者丨南枝 編輯丨月見大廠職級不香了。俗話說,兵無常勢,水無常形,互聯網企業調整職級體系并不稀奇。7月13日,淘寶天貓集團啟動了近年來最大的人力制度改革,目前已形成一
  • AI芯片初創公司Tenstorrent獲三星和現代1億美元投資

    Tenstorrent是一家由芯片行業資深人士Jim Keller領導的加拿大初創公司,專注于開發人工智能芯片,該公司周三表示,已經從現代汽車集團和三星投資基金等
  • 最薄的14英寸游戲筆記本電腦 Alienware X14已可以購買

    2022年1月份在國際消費電子展(CES2022)上首次亮相的Alienware新品——Alienware X14現在已經可以購買了,這款筆記本電腦被譽為世界上最薄的 14 英寸游戲筆
Top 主站蜘蛛池模板: 龙南县| 阿城市| 宜良县| 嵩明县| 江陵县| 浦县| 榆林市| 浑源县| 松桃| 桂阳县| 息烽县| 尚志市| 武平县| 齐河县| 德州市| 五河县| 汶川县| 中牟县| 汝阳县| 周宁县| 兖州市| 新干县| 泰州市| 临泽县| 仪征市| 荔波县| 寻甸| 格尔木市| 峡江县| 睢宁县| 公安县| 吉林省| 五台县| 故城县| 财经| 甘孜| 准格尔旗| 汤原县| 天水市| 靖西县| 石棉县|