《開源精選》是我們分享Github、Gitee等開源社區中優質項目的欄目,包括技術、學習、實用與各種有趣的內容。本期推薦的是一個輕量級的項目運維軟件——Jpom。
日常開發中,您是否有以下痛點?
- 團隊中沒有專門的運維人員,開發還要做運維的活,需要自己手動構建、部署項目。
- 不同的項目有不同的構建、部署命令。
- 有開發、測試、生產等多環境打包的需求。
- 需要同時監控多個項目的運行狀態。
- 需要下載 SSH 工具遠程連接服務器。
- 需要下載 FTP 工具傳輸文件到服務器。
- 多臺服務器使用時,在不同電腦之間賬號密碼同步不方便。
- 想使用一些自動化工具,但是對服務器性能要求太高,搭建太麻煩。
- 對自動化工具有個性化的需求,想自己修改項目,但是市面上的工具太復雜了。
如果是分布式的項目,以上步驟則更加繁瑣。
讓 Jpom 來幫你解決這些痛點吧!然而,這些只是 Jpom 解決的最基礎的功能。
功能特性
- 節點管理:集群節點,統一管理多節點的項目,實現快速一鍵分發項目文件
- 項目管理:創建、啟動、停止、實時查看項目控制臺日志,管理項目文件
- SSH面板:在瀏覽器中管理 SSH,方便進行日常運維,記錄執行命令記錄
- 在線構建:在線拉取 GIT、SVN 倉庫快速構建項目包,不用運維人員手動上傳項目包
- 項目監控:實時監控項目當前狀態、如果異常自動觸發郵件、釘釘發出報警通知
- 用戶管理:多用戶管理,實現不同用戶的不同權限,用戶操作、管理日志完善記錄
- 白名單模式:為了數據安全防止用戶隨便查看、刪除文件配置安全的白名單路徑。
- Docker 管理:在線管理鏡像、容器、SWARM 集群。界面化管理 DOCKER
- Nginx 配置、SSL 證書:在線快速方便的修改 NGINX 配置文件,SSL 證書統一管理
安裝 Jpom
Jpom 支持多種安裝方式,滿足不同用戶的個性化需求,您只需要選擇一種方式安裝即可。
- 方式一:一鍵安裝(linux)
一鍵安裝服務端
注意:安裝的目錄位于執行命令的目錄!
特別提醒:一鍵安裝的時候注意執行命令不可在同一目錄下,即 Server 端和 Agent 端不可安裝在同一目錄下!
如果需要修改服務端數據、日志存儲的路徑請修改 extConfig.yml 文件中 jpom.path 配置屬性。
# 僅安裝服務端
yum install -y wget &&
wget -O install.sh https://dromara.gitee.io/jpom/docs/install.sh &&
bash install.sh Server
# 僅安裝服務端,備用下載地址
yum install -y wget &&
wget -O install.sh https://jpom-docs.keepbx.cn/docs/install.sh &&
bash install.sh Server
# 安裝服務端和 jdk 環境
yum install -y wget &&
wget -O install.sh https://dromara.gitee.io/jpom/docs/install.sh &&
bash install.sh Server jdk
# 安裝服務端和 jdk、maven 環境
yum install -y wget &&
wget -O install.sh https://dromara.gitee.io/jpom/docs/install.sh &&
bash install.sh Server jdk+mvn
# ubuntu
apt install -y wget &&
wget -O install.sh https://dromara.gitee.io/jpom/docs/install.sh &&
bash install.sh Server jdk
啟動成功后,服務端的端口為 2122,可通過 http://127.0.0.1:2122/ 訪問管理頁面(如果不是本機訪問,需要把 127.0.0.1 換成你安裝的服務器 IP 地址)。
如無法訪問管理系統,執行命令 systemctl status firewalld 檢查下是否開啟了防火墻 ,如狀態欄看到綠色顯示 Active: active (running) 需要放行 2122 端口。
# 放行管理系統的 2122 端口
firewall-cmd --add-port=2122/tcp --permanent
# 重啟防火墻才會生效
firewall-cmd --reload
如果在操作系統上放行了端口仍無法訪問,并且你使用的是云服務器,請到云服務器后臺中檢查安全組規則是否放行 2122 端口。
注意: Linux 系統中有多種防火墻:Firewall、Iptables、SELinux 等,再檢查防火墻配置時候需要都檢查一下。
一鍵安裝插件端
如果安裝服務端的服務器也需要被管理,在服務端上也需要安裝插件端(同一個服務器中可以同時安裝服務端和插件端)
特別提醒:一鍵安裝的時候注意執行命令不可在同一目錄下,即 Server 端和 Agent 端不可安裝在同一目錄下!
如果需要修改插件端數據、日志存儲的路徑請修改 extConfig.yml 文件中 jpom.path 配置屬性。
# 僅安裝插件端
yum install -y wget &&
wget -O install.sh https://dromara.gitee.io/jpom/docs/install.sh &&
bash install.sh Agent
# 僅安裝插件端,備用下載地址
yum install -y wget &&
wget -O install.sh https://jpom-docs.keepbx.cn/docs/install.sh &&
bash install.sh Agent
# 安裝插件端和 jdk 環境
yum install -y wget &&
wget -O install.sh https://dromara.gitee.io/jpom/docs/install.sh &&
bash install.sh Agent jdk
# ubuntu
apt install -y wget &&
wget -O install.sh https://dromara.gitee.io/jpom/docs/install.sh &&
bash install.sh Agent jdk
啟動成功后,插件端的端口為 2123,插件端提供給服務端使用。
- 方式二:容器化安裝
使用掛載方式存儲相關數據(在部分環境可能出現兼容性問題)
docker pull jpomdocker/jpom
mkdir -p /home/jpom-server/log
mkdir -p /home/jpom-server/data
docker run -d -p 2122:2122
--name jpom-server
-v /home/jpom-server/log:/usr/local/jpom-server/log
-v /home/jpom-server/data:/usr/local/jpom-server/data
jpomdocker/jpom
使用容器卷方式存儲相關數據
docker pull jpomdocker/jpom
docker volume create jpom-server-data
docker volume create jpom-server-log
docker run -d -p 2122:2122
--name jpom-server
-v jpom-server-data:/usr/local/jpom-server/data
-v jpom-server-log:/usr/local/jpom-server/log
jpomdocker/jpom
容器化安裝僅提供服務端版。由于容器和宿主機環境隔離,而導致插件端的很多功能無法正常使用,因此對插件端容器化意義不大。
安裝docker、配置鏡像、自動啟動、查找安裝后所在目錄等可參考文檔
https://jpom.io/pages/b63dc5/
管理 Jpom 命令
windows 系統使用 bat 腳本文件:
# 服務端管理腳本,按照面板提示輸入操作
Server.bat
# 插件端管理腳本,按照面板提示輸入操作
Agent.bat
Windows 系統中執行啟動后需要根據日志去跟進啟動的狀態,如果出現亂碼請檢查或者修改編碼格式,Windows 系統中 bat 編碼格式推薦為 GB2312
Linux 系統中使用 sh 腳本文件:
# 服務端
Server.sh start 啟動Jpom服務端
Server.sh stop 停止Jpom服務端
Server.sh restart 重啟Jpom服務端
Server.sh status 查看Jpom服務端運行狀態
Server.sh create 創建Jpom服務端的應用服務(jpom-server)
# 插件端
Agent.sh start 啟動Jpom插件端
Agent.sh stop 停止Jpom插件端
Agent.sh restart 重啟Jpom插件端
Agent.sh status 查看Jpom插件端運行狀態
Agent.sh create 創建Jpom插件端的應用服務(jpom-agent)
演示
—END—
開源協議:MIT
開源地址:
https://github.com/dromara/Jpom