日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

运维java项目的技巧 (war包、jar包、docker环境)

發布時間:2023/12/20 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 运维java项目的技巧 (war包、jar包、docker环境) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

最近上線了修復log4j2漏洞的java項目。小結下系統更新操作過程。

一、tomcat下的war包的項目

cd /var/lib/tomcat9 root:/var/lib/tomcat9# ls webapps/ test test.war test.war-bak ROOTsystemctl stop tomcat9 備份test.war 上傳新的test.war systemctl start tomcat9查看日志如catalina.log 。 做巡檢項,訪問系統頁面。

1.1 修改war包里面的配置文件的操作

一、 在windows使用360壓縮打開war包 修改里面的配置文件。 二、使用 vim xx.war 查看修改里面的配置文件 (如 bootstrap.properties 和application-develop.properties )

參考:

https://blog.csdn.net/csdnzouqi/article/details/90169728 mac使用vim命令修改jar包配置文件內容
https://www.cnblogs.com/tonggc1668/p/7519470.html Linux修改war包中文件
https://www.cnblogs.com/lilijun/p/7428376.html Linux修改war包中文件
https://www.orchome.com/703 linux下使用vim修改jar包、war包、zip包內文件內容
Java jar命令 常見用法 https://www.cnblogs.com/dtest/p/4180616.html



二、啟動jar包的項目

cd /data/test ls application-test.yml application.yml test-1.0.1.jar log nohup.out restart.shcd /data/test 殺掉test.jar對應的PID (lsof -i:8080 、 pgrep -f test-1.0.1.jar 、jps -l ) 備份舊test-1.0.1.jar 上傳新的test-1.0.2.jar nohup java -jar test-1.0.2.jar >nohup.out 2>&1 & 啟動。

2.1 關于將配置文件yml放在外面的說法

application-test.yml application.yml test-1.0.1.jar 一起放在當前目錄,java -jar啟動的時候,會優先加載外面的yml文件,而不是test-1.0.1.jar里面的yml文件。 (算是個優先級的說法把)(這樣也方便修改配置文件,不需要 vim test-1.0.1.jar里面的配置文件)

參考:https://blog.csdn.net/weixin_43671737/article/details/119999766
《啟動后臺 jar 包時,使用指定的外部application.yml》
https://blog.csdn.net/z_ssyy/article/details/105347680
《Springboot命令行配置–spring.config.location配置文件的優先級》




三、使用docker啟動的java項目

cd /data/test ls application-prod.yml application.yaml customsettings.json log reports stats system test-1.0.0.jarcd /data/trlh/hi-repository 備份舊的test-1.0.0.jar 和 stats ,reports, system 三個文件夾 docker stop “tests的dockerID” 上傳新的包test-1.0.1.jar docker start “tests的dockerID”

3.1 docker項目說明

最初搭建是:加載docker鏡像 ,并啟動。 (dockerfile略)

docker load -i tests.tar docker imagesdocker run -itd -v /data/test:/etc/test \ -v /data/test:/tests \ -p 18080:18080 harbor.xxxx/arm64/tests:v1.0.2docker ps



四、反思與應對

在此過程中可能會遇到:
0、部署之前一定要備份、做系統快照。給自己留個后路、方便回退。

1、在測試環境能正常部署,但到生產環境啟動jar包后報錯。此時查看報錯日志,進行分析。
(可能是配置文件沒配對、研發打錯包了要更改數據庫驅動)
耐心、細心檢查配置項。 改完配置后,grep 篩選檢查。

2、可參考測試環境與生產環境的配置或者jar包是否有差別,兩者之間的配置文件是否有差異項。
因為要部署兩臺相同的服務(test-web1 ,test-web2),其中一臺已經正常啟動了,那就scp將好的web1的配置文件復制到web2處。

3、注意查看tar.gz包解壓后的屬主屬組,文件權限。對比原本文件夾的屬主屬組,如有不同則chown ,chmod處理。

4、每當更新系統包后,要及時同步到本地PC電腦。避免上傳錯包。(更新包以測試提供的包為準)

5、擬定上線部署系統的順序。人員安排與分工。提前將包放到服務器。



其他 使用vimgrep 搜索查看jar包中的log4j2字樣。

現在的疑惑點就是 (Scan為文件夾)
vim Scan 和 vim Scan.jar , 使用 vimgrep是不同的效果

:vimgrep /log4/ **/.

:vimgrep /log4/ **/*.MF

總結

以上是生活随笔為你收集整理的运维java项目的技巧 (war包、jar包、docker环境)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。