[dromara] 간단하고 가벼운 저침해 온라인 구축, 자동 배포, 일일 운영 및 유지 관리, 프로젝트 모니터링 소프트웨어
[ 기본 운영 소프트웨어입니다. /영어]
해외 사이트: https://jpom.dromara.org ?
본토역: https://jpom.top?
분산 프로젝트인 경우 위의 단계는 더 복잡합니다.
Jpom이 이러한 문제점을 해결하도록 도와드리겠습니다! 그러나 이는 Jpom이 다루는 가장 기본적인 기능일 뿐입니다.
- Windows 서버의 일부 기능은 시스템 특성상 호환성 문제가 발생할 수 있으므로 실제 사용 시 충분히 테스트해 보시기 바랍니다. Linux는 현재 호환성이 좋습니다.
- 서버와 플러그인을 서로 다른 디렉토리에 설치하십시오. 동일한 디렉토리에 설치하지 마십시오.
- Jpom 플러그인이나 서버를 제거하려면 먼저 해당 서비스를 중지한 후 해당 프로그램 파일, 로그 폴더, 데이터 디렉터리 폴더를 삭제하세요.
- 로컬 빌드는 시스템 환경에 따라 다릅니다. 빌드 명령에 maven 또는 node가 필요한 경우 프로젝트가 빌드되는 서버에 해당 환경이 설치되어야 합니다. 이미 서버를 시작하고 해당 환경을 설치한 경우 환경이 적용되기 전에 명령줄을 통해 서버를 다시 시작해야 합니다.
- Ubuntu/Debian 서버에서는 플러그인 추가에 실패할 수 있습니다. 현재 사용자의 루트 디렉터리에 .bash_profile 파일을 생성하세요.
- 2.7.x로 업그레이드한 후 다운그레이드하는 것은 데이터 비호환성을 초래할 수 있으므로 권장되지 않습니다.
- 현재 버전 2.xx 플러그인과 서버는 주로 http 프로토콜을 사용하여 통신하므로 플러그인과 서버 네트워크는 상호 운용성을 요구하므로 사용 시 주의하시기 바랍니다.
- Jpom 3.0 버전의 기획과 업데이트가 시작되었습니다. 새로운 버전의 탄생을 기대해주세요.
업그레이드하기 전에 읽어야 할 내용: CHANGELOG.md
Jpom은 다양한 사용자의 개인화된 요구 사항을 충족하기 위해 다양한 설치 방법을 지원합니다. 하나의 설치 방법만 선택하면 됩니다.
참고: 설치 디렉터리는 명령이 실행되는 디렉터리에 있습니다!
️ 특별 알림: 원클릭 설치를 수행할 때 실행 명령이 동일한 디렉터리에 있을 수 없다는 점에 유의하세요. 즉, 서버측과 에이전트측이 동일한 디렉터리에 설치될 수 없습니다!서버 데이터 및 로그가 저장되는 경로를 수정해야 하는 경우
application.yml
파일의jpom.path
구성 속성을 수정하세요.
# 一键默认安装
curl -fsSL https://jpom.top/docs/install.sh | bash -s Server jdk+default
# 一键默认安装 + 自动配置开机自启服务
curl -fsSL https://jpom.top/docs/install.sh | bash -s Server jdk+default+service
# 安装服务端和 jdk 环境
yum install -y wget &&
wget -O install.sh https://jpom.top/docs/install.sh &&
bash install.sh Server jdk
# 安装服务端和 jdk、maven 环境
yum install -y wget &&
wget -O install.sh https://jpom.top/docs/install.sh &&
bash install.sh Server jdk+mvn
# ubuntu
apt-get install -y wget &&
wget -O install.sh https://jpom.top/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 시스템에는 방화벽, Iptables, SELinux 등 다양한 종류의 방화벽이 있습니다. 방화벽 구성을 확인할 때 이러한 유형을 모두 확인해야 합니다.
서버가 설치된 서버도 함께 관리해야 하는 경우 해당 서버에 플러그인도 설치해야 합니다. (서버와 플러그인은 동일한 서버에 동시에 설치 가능)
️ 특별 알림: 원클릭 설치를 수행할 때 실행 명령이 동일한 디렉터리에 있을 수 없다는 점에 유의하세요. 즉, 서버측과 에이전트측이 동일한 디렉터리에 설치될 수 없습니다!플러그인 데이터 및 로그 저장 경로를 수정해야 하는 경우
application.yml
파일에서jpom.path
구성 속성을 수정하세요.
# 一键默认安装
curl -fsSL https://jpom.top/docs/install.sh | bash -s Agent jdk+default
# 一键默认安装 + 自动配置开机自启服务
curl -fsSL https://jpom.top/docs/install.sh | bash -s Agent jdk+default+service
# 安装插件端和 jdk 环境
yum install -y wget &&
wget -O install.sh https://jpom.top/docs/install.sh &&
bash install.sh Agent jdk
# ubuntu
apt-get install -y wget &&
wget -O install.sh https://jpom.top/docs/install.sh &&
bash install.sh Agent jdk
성공적으로 시작되면 플러그인의 포트는 2123
이고 플러그인이 서버에 제공됩니다.
️ 참고: 컨테이너화된 설치 방법을 사용하려면 먼저 Docker를 설치해야 합니다. Docker 설치 문서로 이동하려면 클릭하세요.
docker run -p 2122:2122 --name jpom-server jpomdocker/jpom
docker pull registry.cn-chengdu.aliyuncs.com/jpomdocker/jpom
mkdir -p /home/jpom-server/logs
mkdir -p /home/jpom-server/data
mkdir -p /home/jpom-server/conf
docker run -d -p 2122:2122
--name jpom-server
-v /home/jpom-server/logs:/usr/local/jpom-server/logs
-v /home/jpom-server/data:/usr/local/jpom-server/data
-v /home/jpom-server/conf:/usr/local/jpom-server/conf
jpomdocker/jpom
docker pull jpomdocker/jpom
mkdir -p /home/jpom-server/logs
mkdir -p /home/jpom-server/data
mkdir -p /home/jpom-server/conf
docker run -d -p 2122:2122
--name jpom-server
-v /home/jpom-server/logs:/usr/local/jpom-server/logs
-v /home/jpom-server/data:/usr/local/jpom-server/data
-v /home/jpom-server/conf:/usr/local/jpom-server/conf
jpomdocker/jpom
docker pull registry.cn-chengdu.aliyuncs.com/jpomdocker/jpom
docker volume create jpom-server-data
docker volume create jpom-server-logs
docker volume create jpom-server-conf
docker run -d -p 2122:2122
--name jpom-server
-v jpom-server-data:/usr/local/jpom-server/data
-v jpom-server-logs:/usr/local/jpom-server/logs
-v jpom-server-conf:/usr/local/jpom-server/conf
jpomdocker/jpom
docker pull jpomdocker/jpom
docker volume create jpom-server-data
docker volume create jpom-server-logs
docker volume create jpom-server-conf
docker run -d -p 2122:2122
--name jpom-server
-v jpom-server-data:/usr/local/jpom-server/data
-v jpom-server-logs:/usr/local/jpom-server/logs
-v jpom-server-conf:/usr/local/jpom-server/conf
jpomdocker/jpom
컨테이너화된 설치는 서버 버전에서만 가능합니다. 컨테이너와 호스트 환경이 분리되어 있기 때문에 플러그인 측의 많은 기능을 정상적으로 사용할 수 없기 때문에 플러그인 측의 컨테이너화는 별 의미가 없습니다.
Docker 설치, 이미지 구성, 자동 시작, 설치 후 디렉터리 찾기 등은 https://jpom.top/pages/b63dc5/ 문서를 참조하세요.
낮은 버전의 docker에서 실행할 때
ls: cannot access'/usr/local/jpom-server/lib/': Operation not permitted
오류가 발생할 수 있습니다. 이 경우--privileged
매개변수를 추가해야 합니다. as:docker run -p 2122:2122 --name jpom-server jpomdocker/jpom --privileged
agent-xxx-release
디렉터리는 플러그인 측의 모든 설치 파일입니다.2123
입니다.server-xxx-release
디렉토리에는 서버의 모든 설치 파일이 포함되어 있습니다.2122
입니다. 관리 페이지에 액세스하십시오: http://127.0.0.1:2122/
(로컬이 아닌 액세스의 경우 127.0.0.1
서버 IP 주소로 바꾸십시오)web-vue
디렉터리로 전환하고 npm install
실행합니다. (종속성 패키지를 위해 vue 환경을 미리 구축하고 설치해야 합니다. 자세한 내용은 web-vue 디렉터리의 README.md를 확인하세요.)npm run build
실행하여 vue 프로젝트 패키징mvn clean package
modules/agent/target/agent-xxx-release
확인하세요.2123
modules/server/target/server-xxx-release
확인하세요.2122
입니다. 관리 페이지에 액세스하십시오: http://127.0.0.1:2122/
(로컬이 아닌 액세스의 경우 127.0.0.1
서버 IP 주소로 바꾸십시오)빠른 패키징을 위해
script/release.bat
또는script/release.sh
사용할 수도 있습니다.
.env
파일의 토큰 값 수정에 주의해야 합니다.
yum install -y git
git clone https://gitee.com/dromara/Jpom.git
cd Jpom
docker-compose -f docker-compose.yml up
# docker-compose -f docker-compose.yml up --build
# docker-compose -f docker-compose.yml build --no-cache
# docker-compose -f docker-compose-local.yml up
# docker-compose -f docker-compose-local.yml build --build-arg TEMP_VERSION=.0
# docker-compose -f docker-compose-cluster.yml up --build
org.dromara.jpom.JpomAgentApplication
실행2123
입니다.org.dromara.jpom.JpomServerApplication
실행2122
web-vue
디렉터리로 전환합니다(전제 조건은 로컬 개발 환경에 node 및 npm 환경이 있어야 함).npm install
실행합니다.npm run dev
실행하세요.http://127.0.0.1:3000/
(로컬이 아닌 액세스의 경우 127.0.0.1
서버 IP 주소로 바꾸십시오) # 服务端管理脚本 (命令行)
./bin/Server.bat start # 启动Jpom服务端
./bin/Server.bat stop # 停止Jpom服务端
./bin/Server.bat restart # 重启Jpom服务端
./bin/Server.bat status # 查看Jpom服务端运行状态
# 服务端管理脚本 (控制面板),按照面板提示输入操作
./bin/Server.bat
# 插件端管理脚本
./bin/Agent.bat start # 启动Jpom插件端
./bin/Agent.bat stop # 停止Jpom插件端
./bin/Agent.bat restart # 重启Jpom插件端
./bin/Agent.bat status # 查看Jpom插件端运行状态
# 插件端管理脚本(控制面板),按照面板提示输入操作
./bin/Agent.bat
Windows 시스템을 시작한 후 로그에 따라 시작 상태를 따라야 합니다. 잘못된 문자가 나타나면 인코딩 형식을 확인하거나 수정하십시오. Windows 시스템에서 권장되는 Bat 인코딩 형식은
GB2312
# 服务端
./bin/Server.sh start # 启动Jpom服务端
./bin/Server.sh stop # 停止Jpom服务端
./bin/Server.sh restart # 重启Jpom服务端
./bin/Server.sh status # 查看Jpom服务端运行状态
./bin/Service.sh install # 创建Jpom服务端的应用服务(jpom-server)
# 插件端
./bin/Agent.sh start # 启动Jpom插件端
./bin/Agent.sh stop # 停止Jpom插件端
./bin/Agent.sh restart # 重启Jpom插件端
./bin/Agent.sh status # 查看Jpom插件端运行状态
./bin/Service.sh install # 创建Jpom插件端的应用服务(jpom-agent)
여기에 나온 설치 서비스는 참고용일 뿐입니다. 실제로는 필요에 따라 구성을 맞춤 설정할 수 있습니다.
./bin/Service.sh install
systemctl {상태 | 중지 | 다시 시작} jpom-서버
systemctl {상태 | 중지 | 다시 시작} jpom-agent
실행 중인 프로젝트의 루트 경로에서:
./conf/application.yml
application.yml
application.yml
./conf/logback.xml
logback.xml
logback.xml
일부 사진은 느리게 로드될 수 있습니다.
Node.js는 지정된 디렉터리를 컴파일합니다.
yarn --cwd xxxx/ install
yarn --cwd xxxx/ build
Maven은 지정된 디렉터리를 컴파일합니다.
mvn -f xxxx/pom.xml clean package
감사하고 기여해주신 모든 분들께 감사드립니다. 여러분의 지원은 우리가 계속해서 업데이트하고 앞으로 나아갈 수 있는 원동력입니다!
오픈 소스 프로젝트를 더 잘 유지하기 위해 우리는 주변 제품을 출시하기로 결정했습니다.
작은 제품뿐만 아니라 구매로 인한 이익도 얻을 수 있도록 구매 지원해주세요. (주변 제품의 가격은 시중 가격보다 약간 높으므로 마음에 드는 경우 주문하지 마십시오.)
기고서를 제출하면 CLA 계약에 서명한 것으로 간주됩니다.
오픈 소스 프로젝트로서 Jpom은 커뮤니티의 지원 없이는 존재할 수 없습니다. 누구나 수정하고 제안할 수 있습니다. 귀하의 기여가 크든 작든 관계없이 귀하의 기여는 수천 명의 사용자와 개발자에게 도움이 될 것이며 귀하의 기여는 항상 프로젝트 기여자 목록에 유지됩니다. 이는 오픈 소스 프로젝트의 의미이기도 합니다.
프로젝트 코드의 품질과 사양을 보장하고 프로젝트 구조를 더 빠르게 이해하려면 기여하기 전에 다음 내용을 읽어보세요.
이 저장소를 포크하세요.
Fork 후에는 귀하의 계정에 이 창고와 정확히 동일한 추가 창고가 있을 것입니다. 계정의 창고를 로컬로 복제하세요.
링크의分支名
과用户名
바꾸는 데 주의하세요.
코드를 제공하는 경우 지점 이름에 dev
입력하고, 문서를 제공하는 경우 지점 이름에 docs
입력하세요.
git clone -b 分支名 https://gitee.com/用户名/Jpom.git
코드/문서를 수정하고 수정 후 제출하세요.
# 把修改的文件添加到暂存区
git add .
# 提交到本地仓库,说明您具体做了什么修改
git commit -m '填写您做了什么修改'
# 推送到远程仓库,分支名替换成 dev 或者 docs
git push origin 分支名
창고에 로그인하면 PR 요청이 표시됩니다. 병합 요청을 클릭하고 관리자가 코드를 병합할 때까지 기다립니다.
나뭇가지 | 설명하다 |
---|---|
주인 | 마스터 브랜치, 보호 브랜치, 이 브랜치는 PR을 허용하지 않습니다. 베타 브랜치가 테스트되고 문제가 없으면 이 브랜치로 병합됩니다. |
베타 | 베타 버전 분기, 보호 분기, 이 분기는 PR을 허용하지 않습니다. dev 브랜치에서 테스트한 후 이 브랜치에 병합됩니다. |
개발자 | 개발 브랜치에서 PR을 수락하면 dev 브랜치에 PR을 제출하세요. |
문서 | 프로젝트 문서 분기, PR 접수, 프로젝트 기능 소개, 자주 묻는 질문 요약 등 |
현재는 dev 및 docs 브랜치가 주로 사용되고 PR 수정을 허용합니다. 다른 브랜치는 아카이브 브랜치이므로 기여자는 이를 무시할 수 있습니다.
contrib.rocks로 제작되었습니다.
프로젝트 이름 | 프로젝트 주소 | 프로젝트 소개 |
---|---|---|
SpringBoot_v2 | https://gitee.com/bdj/SpringBoot_v2 | springboot 기반 순수 스캐폴딩 |
TLog GVP 프로젝트 | https://gitee.com/dromara/TLog | 10분 안에 액세스할 수 있고 자동으로 로그에 태그를 지정하여 마이크로서비스의 링크 추적을 완료할 수 있는 경량 분산 로그 태그 추적 아티팩트입니다. |
사토켄 | https://gitee.com/dromara/sa-token | 이는 역사상 가장 포괄적인 Java 권한 인증 프레임워크일 수 있습니다! |
나다 | https://gitee.com/erupt/erupt | 제로 프론트엔드 코드, 순수한 주석 개발 관리자 관리 배경 |
하마4j | https://gitee.com/magegoofy/hippo4j | 모니터링 및 경보 기능을 갖춘 강력한 동적 스레드 풀 프레임워크입니다. |
HertzBeat | https://gitee.com/dromara/hertzbeat | 사용하기 쉽고 친숙한 클라우드 모니터링 시스템, 에이전트가 필요하지 않음, 강력한 맞춤형 모니터링 기능. |