麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > shell > 正文

Jar包一鍵重啟的Shell腳本及新服務器部署的一些經驗分享

2024-07-21 02:03:18
字體:
來源:轉載
供稿:網友

前言

最近公司為客戶重新部署了一套新環境,由我來完成了基礎環境的配置,配置過程中總結了一些經驗,分享給各位園友

使用 curl 命令檢查網絡

拿到新服務器后,首先檢查服務器網絡是否通暢。我們常用的 ping 命令使用的是 ICMP 協議,大部分服務器都設置了域名出入站規則,即使某些地址可以 ping 通,也存在服務器無法訪問的情況。這時可以使用 curl host:port 命令來測試該服務器能否正常發送 http 請求到外部服務器

安裝 JDK

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

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

檢查服務器時間

一般新服務器時間都會與網絡時間不一致,這時就需要我們先同步一下服務器時間

date/timedatectl 命令可用于查看系統當前的時間,如果和網絡時間不一致

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

打開指定的端口

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

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

執行完之后,重新載入防火墻配置

firewall-cmd --reload  

有的服務器在內網中,有外網域名映射,那同時需要開放該端口外網到內網的映射。這個根據服務性質來確定。如果某個微服務只是服務間內網訪問。就不建議暴露在公網中

Jar 包一鍵重啟

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

ps -ef |grep 服務名kill -9 PIDnohup java -jar 服務名 &tail -1000f nohup.out

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

于是我嘗試著學習 shell 命令來寫出來一個簡單的一鍵重啟并輸出日志的腳本

腳本內容

#!/bin/bash# 作者 后青春期的Keats# 博客地址 https://www.cnblogs.com/keatsCoder/# 默認應用名稱defaultAppName='redis-cli.jar'appName=''if [ $1 && $1!=0 ]then	appName=$1else	appName=$defaultAppNamefiecho ">>>>>>本次重啟的應用: $appName <<<<<<"# 關閉應用方法stopApp(){	pid=$( ps -ef |grep $appName |grep 'java -jar'|grep -v grep|awk '{print $2}')	kill -9 $pid}# 啟動應用方法startApp(){	nohup java -jar $appName &}# 滾動打印日志printLog(){	tail -1000f nohup.out}if [ $2 ]then	echo '第二個參數有值,僅啟動'else	stopAppfistartAppprintLog

使用方法

使用 vi/vim 命令在應用 jar 包所在目錄下新建一個 restart.sh 的文件

vi restart.sh

復制上面的代碼,更改該文件權限為可執行

chmod +x restart.sh

執行腳本,para1 para2 是可選項,para1 指定重啟的項目名稱,para2 存在時只啟動,不殺死進程

./restart.sh [para1] [para2]

增強使用方法

細心的朋友可能注意到,腳本中有個變量 defaultAppName 沒錯,它就是默認重啟的項目名稱,對我們來說,一般 jar 包名稱不會經常修改,因此可以通過修改默認應用名稱的方式來簡化執行時所需要輸入應用名稱的步驟。

修改了默認名稱之后,如果想使用僅啟動模式,就需要使用

./restart 0 1

來實現,第一個參數 0 不會被識別成應用名稱,只是用作占位符。

到此這篇關于Jar包一鍵重啟的Shell腳本及新服務器部署的一些經驗分享的文章就介紹到這了,更多相關jar 包一鍵重啟服務器部署內容請搜索武林網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持武林網!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 亚洲第一综合 | 成人国产免费观看 | 在线观看91精品 | 久久99精品久久久久久久久久久久 | 日本在线免费观看视频 | 亚洲精品 在线播放 | 高潮激情aaaaa免费看 | 国产88久久久国产精品免费二区 | 久久久久久久黄色片 | 成人福利视频网站 | 亚洲第一精品在线 | 中文字幕精品一区久久久久 | 怦然心动50免费完整版 | 韩国一大片a毛片 | 深夜免费观看视频 | 一级一级一级毛片 | www.mitao| 一区二区久久久久草草 | 91综合在线观看 | 国产精品入口夜色视频大尺度 | 久色精品视频 | 麻豆小视频在线观看 | 日韩视频1| 久久精品99国产国产精 | 欧美18—19sex性护士中国 | 久久久久久久久久久av | 欧美一级高清免费 | 99精品视频在线免费观看 | 成人男女激情免费视频 | 91九色免费视频 | 成年免费观看视频 | 成人国产精品一区二区毛片在线 | 成人福利视频网站 | 在线播放免费人成毛片乱码 | jizzzzxxxxx| 国产成人精品二区 | 极品xxxx欧美一区二区 | 日韩精品免费一区二区三区 | 中国国语毛片免费观看视频 | 久久久久久亚洲国产精品 | 久久久久久久.comav |