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

Jar包一鍵重啟的Shell腳本及新服務(wù)器部署的一些經(jīng)驗(yàn)分享

 更新時(shí)間:2020年04月22日 09:52:19   作者:后青春期的Keats  
這篇文章主要介紹了Jar包一鍵重啟的Shell腳本及新服務(wù)器部署的一些經(jīng)驗(yàn),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

前言

最近公司為客戶重新部署了一套新環(huán)境,由我來完成了基礎(chǔ)環(huán)境的配置,配置過程中總結(jié)了一些經(jīng)驗(yàn),分享給各位園友

使用 curl 命令檢查網(wǎng)絡(luò)

拿到新服務(wù)器后,首先檢查服務(wù)器網(wǎng)絡(luò)是否通暢。我們常用的 ping 命令使用的是 ICMP 協(xié)議,大部分服務(wù)器都設(shè)置了域名出入站規(guī)則,即使某些地址可以 ping 通,也存在服務(wù)器無(wú)法訪問的情況。這時(shí)可以使用 curl host:port 命令來測(cè)試該服務(wù)器能否正常發(fā)送 http 請(qǐng)求到外部服務(wù)器

安裝 JDK

新服務(wù)器一般沒有 JDK ,可以使用 java -version 命令查看。如果沒有,則通過 yum 命令安裝之,如果有但版本不對(duì)也可以先卸載再安裝

# 卸載 
rpm -qa | grep java | xargs rpm -e --nodeps 
# 安裝 1.8
yum install java-1.8.0-openjdk* -y

檢查服務(wù)器時(shí)間

一般新服務(wù)器時(shí)間都會(huì)與網(wǎng)絡(luò)時(shí)間不一致,這時(shí)就需要我們先同步一下服務(wù)器時(shí)間

date/timedatectl 命令可用于查看系統(tǒng)當(dāng)前的時(shí)間,如果和網(wǎng)絡(luò)時(shí)間不一致

# 安裝日期工具
yum -y install ntp ntpdate
# 同步時(shí)間
ntpdate cn.pool.ntp.org
# 將系統(tǒng)時(shí)間寫入硬件時(shí)間
hwclock --systohc

打開指定的端口

應(yīng)用部署了之后,由于防火墻的限制,需要手動(dòng)打開應(yīng)用所占用的端口。打開命令如下:

firewall-cmd --zone=public --add-port=80/tcp --permanent

執(zhí)行完之后,重新載入防火墻配置

firewall-cmd --reload  

有的服務(wù)器在內(nèi)網(wǎng)中,有外網(wǎng)域名映射,那同時(shí)需要開放該端口外網(wǎng)到內(nèi)網(wǎng)的映射。這個(gè)根據(jù)服務(wù)性質(zhì)來確定。如果某個(gè)微服務(wù)只是服務(wù)間內(nèi)網(wǎng)訪問。就不建議暴露在公網(wǎng)中

Jar 包一鍵重啟

Java 項(xiàng)目在 Linux 環(huán)境中一般采用 war 包到 Tomcat 或者 jar 包部署的方式在 Linux 部署,在自動(dòng)化部署大行其道的今天,仍然會(huì)有不少的公司采用手動(dòng)部署的方式部署 jar 包(比如我們公司),最近我們公司為客戶重新升級(jí)了一下新的環(huán)境(新版本上線到新服務(wù)器)由我兼任運(yùn)(reng bao)維(chong qi)工程師來負(fù)責(zé)項(xiàng)目的部署上線。項(xiàng)目初上線的時(shí)候重啟操作是非常頻繁的,一般我們會(huì)采用如下的命令:

ps -ef |grep 服務(wù)名
kill -9 PID
nohup java -jar 服務(wù)名 &
tail -1000f nohup.out

這四步一氣呵成,手速快的話 10s 左右就 OK 了,然而當(dāng)微服務(wù)項(xiàng)目很多的時(shí)候,要輸入的命令數(shù)量就是 4n ,有一次服務(wù)器時(shí)間不準(zhǔn),我重設(shè)了一下服務(wù)器時(shí)間,導(dǎo)致時(shí)鐘回退,雪花ID無(wú)法生成。我一口氣重啟完了所有服務(wù),那個(gè)酸爽。。。

于是我嘗試著學(xué)習(xí) shell 命令來寫出來一個(gè)簡(jiǎn)單的一鍵重啟并輸出日志的腳本

腳本內(nèi)容

#!/bin/bash
# 作者 后青春期的Keats
# 博客地址 https://www.cnblogs.com/keatsCoder/


# 默認(rèn)應(yīng)用名稱
defaultAppName='redis-cli.jar'
appName=''

if [ $1 && $1!=0 ]
then
	appName=$1
else
	appName=$defaultAppName
fi

echo ">>>>>>本次重啟的應(yīng)用: $appName <<<<<<"

# 關(guān)閉應(yīng)用方法
stopApp(){
	pid=$( ps -ef |grep $appName |grep 'java -jar'|grep -v grep|awk '{print $2}')
	kill -9 $pid
}

# 啟動(dòng)應(yīng)用方法
startApp(){
	nohup java -jar $appName &
}

# 滾動(dòng)打印日志
printLog(){
	tail -1000f nohup.out
}

if [ $2 ]
then
	echo '第二個(gè)參數(shù)有值,僅啟動(dòng)'
else
	stopApp
fi
startApp
printLog

使用方法

使用 vi/vim 命令在應(yīng)用 jar 包所在目錄下新建一個(gè) restart.sh 的文件

vi restart.sh

復(fù)制上面的代碼,更改該文件權(quán)限為可執(zhí)行

chmod +x restart.sh

執(zhí)行腳本,para1 para2 是可選項(xiàng),para1 指定重啟的項(xiàng)目名稱,para2 存在時(shí)只啟動(dòng),不殺死進(jìn)程

./restart.sh [para1] [para2]

增強(qiáng)使用方法

細(xì)心的朋友可能注意到,腳本中有個(gè)變量 defaultAppName 沒錯(cuò),它就是默認(rèn)重啟的項(xiàng)目名稱,對(duì)我們來說,一般 jar 包名稱不會(huì)經(jīng)常修改,因此可以通過修改默認(rèn)應(yīng)用名稱的方式來簡(jiǎn)化執(zhí)行時(shí)所需要輸入應(yīng)用名稱的步驟。

修改了默認(rèn)名稱之后,如果想使用僅啟動(dòng)模式,就需要使用

./restart 0 1

來實(shí)現(xiàn),第一個(gè)參數(shù) 0 不會(huì)被識(shí)別成應(yīng)用名稱,只是用作占位符。

到此這篇關(guān)于Jar包一鍵重啟的Shell腳本及新服務(wù)器部署的一些經(jīng)驗(yàn)分享的文章就介紹到這了,更多相關(guān)jar 包一鍵重啟服務(wù)器部署內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 進(jìn)制轉(zhuǎn)換基礎(chǔ)

    進(jìn)制轉(zhuǎn)換基礎(chǔ)

    很多年前大學(xué)里學(xué)過的進(jìn)制轉(zhuǎn)換還是挺簡(jiǎn)單的,沒想到多年不用了,都忘了,剛好看到這篇文章,特分享下,方便需要的朋友
    2013-02-02
  • select下拉菜單實(shí)現(xiàn)二級(jí)聯(lián)動(dòng)效果

    select下拉菜單實(shí)現(xiàn)二級(jí)聯(lián)動(dòng)效果

    這篇文章主要介紹了select下拉菜單實(shí)現(xiàn)二級(jí)聯(lián)動(dòng)效果,在一些項(xiàng)目開發(fā)中經(jīng)常會(huì)遇到這樣的需求,今天小編通過實(shí)例代碼給大家講解,需要的朋友可以參考下
    2019-10-10
  • 解決HTTP服務(wù)響應(yīng)數(shù)據(jù)不完整響應(yīng)數(shù)據(jù)截?cái)嗟膯栴}

    解決HTTP服務(wù)響應(yīng)數(shù)據(jù)不完整響應(yīng)數(shù)據(jù)截?cái)嗟膯栴}

    這篇文章主要介紹了HTTP服務(wù)響應(yīng)數(shù)據(jù)不完整響應(yīng)數(shù)據(jù)截?cái)嗟膯栴}及解決方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-03-03
  • Git基本概述

    Git基本概述

    本文主要介紹了Git的基礎(chǔ)知識(shí)。具有很好的參考價(jià)值,下面跟著小編一起來看下吧
    2017-01-01
  • 深度學(xué)習(xí)開源框架基礎(chǔ)算法之傅立葉變換的概要介紹

    深度學(xué)習(xí)開源框架基礎(chǔ)算法之傅立葉變換的概要介紹

    今天小編就為大家分享一篇關(guān)于深度學(xué)習(xí)開源框架基礎(chǔ)算法之傅立葉變換的概要介紹,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧
    2018-12-12
  • 在 git 中取消 __pycache__ 文件的方法

    在 git 中取消 __pycache__ 文件的方法

    _pycache__ 文件夾是 Python 編譯器用來存放編譯后的 Python 文件的,在項(xiàng)目中不需要提交這些文件,因?yàn)樗鼈兛梢酝ㄟ^編譯源代碼重新生成,這篇文章主要介紹了如何在 git 中取消 __pycache__ 文件,需要的朋友可以參考下
    2023-01-01
  • VSCode 使用Settings Sync同步配置(最新版教程,非常簡(jiǎn)單)

    VSCode 使用Settings Sync同步配置(最新版教程,非常簡(jiǎn)單)

    這篇文章主要介紹了VSCode 使用Settings Sync同步配置(最新版教程,非常簡(jiǎn)單),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-11-11
  • Eslint在Vscode中使用的一些相關(guān)技巧總結(jié)

    Eslint在Vscode中使用的一些相關(guān)技巧總結(jié)

    ESLint 是一個(gè)代碼規(guī)范和錯(cuò)誤檢查工具,所有東西都是可以插拔的,這篇文章主要給大家介紹了關(guān)于Eslint在Vscode中使用的一些相關(guān)技巧總結(jié),文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-07-07
  • windows開發(fā)記事本程序紀(jì)實(shí)(一)界面篇

    windows開發(fā)記事本程序紀(jì)實(shí)(一)界面篇

    這將是一個(gè)系列博文,后面會(huì)繼續(xù)補(bǔ)充邏輯功能的開發(fā)的步驟。本節(jié)主要實(shí)現(xiàn)記事本的主界面設(shè)計(jì),包括主界面窗口的構(gòu)建、菜單的加入。雖然都是一些基本的操作,但是還是想將這些基本步驟完整地記錄下來,以便后續(xù)驗(yàn)證。
    2014-08-08
  • 解析在瀏覽器地址欄輸入一個(gè)URL后發(fā)生了什么

    解析在瀏覽器地址欄輸入一個(gè)URL后發(fā)生了什么

    作為一個(gè)軟件開發(fā)者,你一定會(huì)對(duì)網(wǎng)絡(luò)應(yīng)用如何工作有一個(gè)完整的層次化的認(rèn)知,同樣這里也包括這些應(yīng)用所用到的技術(shù):像瀏覽器,HTTP,HTML,網(wǎng)絡(luò)服務(wù)器,需求處理等等。本文將更深入的研究當(dāng)你輸入一個(gè)網(wǎng)址的時(shí)候,后臺(tái)到底發(fā)生了一件件什么樣的事
    2021-06-06

最新評(píng)論

星座| 明水县| 南通市| 延吉市| 中江县| 芒康县| 宁都县| 祥云县| 萝北县| 米脂县| 周口市| 丰县| 宁陵县| 永嘉县| 特克斯县| 海原县| 泗水县| 旅游| 黄石市| 乌兰县| 定兴县| 贵南县| 称多县| 肇庆市| 恩平市| 平远县| 炎陵县| 宝坻区| 苗栗县| 贡嘎县| 金湖县| 东莞市| 遵化市| 和田县| 新乐市| 福建省| 丰县| 永嘉县| 通江县| 林西县| 宾川县|