Jpom/README.md

142 lines
5.7 KiB
Markdown
Raw Normal View History

2019-01-04 15:34:10 +08:00
# Jpom(Java Project Online Management)Java项目在线管理
2018-06-25 22:55:37 +08:00
2019-01-04 17:14:17 +08:00
> 在linux 中管理jar包运行如SpringBoot、Jboot、jfinal、t-io项目如果是打包为Jar那么我们一般是使用shell 命令来管理,
2018-12-29 15:54:44 +08:00
> 如果有多个项目管理起来显得比较麻烦。
> 如果新增、更新、删除项目都不是很方便。
2018-12-29 16:19:48 +08:00
> 再或者想不使用电脑控制重启、关闭、开启项目。直接使用shell 登录服务器管理显然不是最简单的方法
2019-01-03 12:04:33 +08:00
> 如果休息日在朋友家玩,公司领导联系说需要控制一下某个项目,此时你身边有电脑,但是没有专业的管理服务器的软件。
2018-12-29 15:54:44 +08:00
2019-02-26 15:09:43 +08:00
### 在这里[Jpom](https://gitee.com/keepbx/jpom) 项目将如上问题统一解决
2018-12-29 15:54:44 +08:00
2019-02-19 11:24:52 +08:00
![GitHub](https://img.shields.io/github/license/jiangzeyin/jpom.svg?style=flat)
![jdk](https://img.shields.io/badge/JDK-1.8+-green.svg)
[![travis](https://travis-ci.org/jiangzeyin/jpom.svg?branch=master)](https://travis-ci.org/jiangzeyin/jpom)
2019-02-19 13:06:31 +08:00
[![codecov](https://codecov.io/gh/jiangzeyin/jpom/branch/master/graph/badge.svg)](https://codecov.io/gh/jiangzeyin/jpom)
2019-02-19 11:24:52 +08:00
2019-01-04 11:51:42 +08:00
> Jpom采用SpringBoot开发web项目(前台采用layui)+websocket来统一管理只要电脑能使用浏览器就ok
2018-12-29 15:54:44 +08:00
2019-02-22 17:28:33 +08:00
![logo](/doc/logo.png)
2019-02-26 09:11:02 +08:00
#### 你为什么需要Jpom
> SpringBoot、Jboot等框架开发的项目通常是以Jar的方式在后台运行的如果只有一两个项目管理起来不是太麻烦但是当项目多了以后管理起来就不是那么方便了当项目出现问题时能够通过Jpom即时排查问题问题解决后还可以直接上传修改后的Jar项目的堆栈信息服务器CPU、内存使用情况一目了然不必再登录服务器管理简直方便的不得了。
> 当多个项目运行在同一台服务器时运维人员通常也不只一个如果每个人都登录服务器管理项目难免会造成一些不必要的麻烦甚至给服务器的安全性带来问题服务器密码知道的人越多越容易泄露因为不需要登录服务器管理项目维护人员不需要知道服务器的登录密码只需要有Jpom的账号就行Jpom本身可以通过权限管理给不同用户不同的权限这样也使得项目的稳定性得到提升。
2018-12-29 15:54:44 +08:00
#### 项目主要功能
2019-02-22 13:32:24 +08:00
2018-12-29 15:54:44 +08:00
1. 创建、修改、删除项目
2. 实时查看控制台
3. jar包文件夹管理
4. cpu、ram 监控
5. 导出堆栈信息
6. 阿里云 CodePipeline + Oss在线管理
7. 多用户管理
8. 此项目完全不依赖数据库,随装随用
2018-12-29 15:58:07 +08:00
9. 整个服务器top监听
2019-02-22 13:32:24 +08:00
10. 查看项目运行进程占用的端口
2018-12-29 15:54:44 +08:00
#### 项目截图
1. 创建项目
2019-01-04 15:29:36 +08:00
![创建项目](/doc/images/create.png)
2018-12-29 15:54:44 +08:00
2. 修改、删除项目
2019-01-04 15:29:36 +08:00
![修改、删除项目](/doc/images/edit_del.png)
2018-12-29 15:54:44 +08:00
3. 文件管理
2019-01-04 15:29:36 +08:00
![文件管理](/doc/images/file.png)
2018-12-29 15:54:44 +08:00
4. 项目列表
2019-01-04 15:29:36 +08:00
![项目列表](/doc/images/list.png)
2018-12-29 15:54:44 +08:00
5. 监控cpu 内存
2019-01-04 15:29:36 +08:00
![ 监控cpu 内存](/doc/images/cup_ram.png)
2018-12-29 15:54:44 +08:00
6. 控制台日志实时查看
2019-01-04 15:29:36 +08:00
![控制台日志实时查看](/doc/images/console.png)
2018-12-29 15:54:44 +08:00
7. 用户管理
2019-01-04 15:29:36 +08:00
![用户管理](/doc/images/user_list.png)
2018-12-29 15:58:07 +08:00
8. top监听
2019-01-04 15:29:36 +08:00
![top监听](/doc/images/top.png)
2018-12-29 15:54:44 +08:00
9. 查看项目占用的端口情况
![查看项目占用的端口情况](/doc/images/port.png)
2019-01-03 17:43:53 +08:00
### 下载安装
2019-02-22 22:32:07 +08:00
1. 下载安装包 [https://gitee.com/keepbx/jpom/attach_files](https://gitee.com/keepbx/jpom/attach_files)
2019-01-03 17:52:30 +08:00
2. 上传到服务解压到根目录
2019-02-22 22:32:07 +08:00
3. 执行目录下[run.sh](/bin/run.sh)文件(记得给命令文件添加权限奥[*chmod 755 /jpom/run.sh*]
2019-01-03 17:55:28 +08:00
```
2019-01-04 15:41:00 +08:00
/jpom/run.sh start
2019-01-03 17:55:28 +08:00
```
4. 如有需要修改项目端口请查看 run.sh
2019-01-02 10:52:16 +08:00
### 编译安装
2019-02-22 22:34:10 +08:00
访问[Jpom](https://gitee.com/keepbx/jpom)的码云主页,拉取最新完整代码:
1. 项目运行日志目录确认,如需修改请查看[/src/main/resources/logback-spring.xml](/src/main/resources/logback-spring.xml)(默认:/jpom/log/
2. 进入项目目录执行,然后在目录中查看 target/jpom-x.x-release
2019-01-03 17:55:28 +08:00
```
mvn package
```
3. 打包上传服务器运行
4. 命令运行
2019-01-03 19:34:46 +08:00
### 编译运行
2019-02-22 22:32:07 +08:00
访问[Jpom](https://gitee.com/keepbx/jpom)的码云主页,拉取最新完整代码:
1. 运行*cn.keepbx.jpom.JpomApplication*
2. 浏览器访问
2019-01-02 10:52:16 +08:00
### 阿里云CodePipeline 配置
2019-01-16 10:23:35 +08:00
[查看文档](/doc/CodePipeline-Oss.md)
2019-01-02 10:52:16 +08:00
### 贡献人员
2018-06-25 22:55:37 +08:00
2019-01-02 10:26:08 +08:00
1. [F7575](https://gitee.com/F7575)
2. [bwcx_jzy](https://gitee.com/jiangzeyin)
3. [arno](https://gitee.com/arnohand)
2019-01-02 10:52:16 +08:00
### 感谢
2019-01-04 14:48:48 +08:00
Jpom使用以下开源项目
2019-01-02 10:26:08 +08:00
- [Spring Boot](https://github.com/spring-projects/spring-boot):核心框架
2019-02-22 22:32:07 +08:00
- [Fast-Boot](https://gitee.com/keepbx/common-parent)针对SpringBoot 封装的一系列的快捷包 提供公共的Controller、自动化拦截器、启动加载资源接口、线程池管理
2019-01-04 15:41:00 +08:00
- [Fastjson](https://github.com/alibaba/fastjson)用于Java的快速JSON解析器/生成器
2019-01-04 18:20:33 +08:00
- [Hutool](https://gitee.com/loolly/hutool)一个Java工具包也只是一个工具包它帮助我们简化每一行代码减少每一个方法让Java语言也可以“甜甜的”
2019-01-02 10:52:16 +08:00
- [Layui](https://gitee.com/sentsin/layui)前端UI框架
### 提供bug反馈或建议
2019-02-22 22:32:07 +08:00
- [码云](https://gitee.com/keepbx/jpom/issues)
2019-01-02 10:52:16 +08:00
### 贡献代码
2019-01-04 11:56:36 +08:00
欢迎任何人为Jpom添砖加瓦贡献代码
2019-01-04 14:50:27 +08:00
### 交流讨论
QQ群[136715345](https://shang.qq.com/wpa/qunwpa?idkey=93ff8d8a37a436b752fe38d32075bb1b32a8e0b3d3ff19d0b541ca840433f561)
### 常见问题
2019-02-22 13:32:24 +08:00
1. 如何修改程序运行端口:修改管理程序命令文件中 --server.port=2122
2. 如何修改程序日志路径:建议自行编译安装修改 [/src/main/resources/logback-spring.xml](/src/main/resources/logback-spring.xml) 文件
3. 如何修改回话超时时长:在管理程序命令文件中 ARGS 变量添加 --tomcat.sessionTimeOut=1800
2019-02-22 22:38:39 +08:00
### 开发计划
1. 兼容windows 服务器
2. 不同用户授权不同项目
3. 主要管理页面兼容移动端