安装可视化jar包部署平台JarManage

一、下载

下载地址:JarManage 发行版 - Gitee.com

🚒 下载 最新发行版 下载zip的里面linux和windows版本都有

二、运行

上传到服务器,解压进入目录

  • 🚚 执行java -jar jarmanage-depoly.jar 命令运行

    java -jar jarmanage-depoly.jar
    

​三、浏览器打开 http://localhost:8555/

注:如果想修改账号密码,找到配置文件 resources/application-custom.yml

四、配置开机启动---脚本注册

项目提供注册脚本一键部署,将jarmanage-depoly.jar自动注册为系统服务开机启动

  • 📙windows

    将autodepoly-windows文件夹拷贝到和jarmanage-depoly.jar同级目录

    管理员权限打开cmd进入到autodepoly-windows目录

    cmd执行install.bat自动安装项目

    cmd执行uninstall.bat自动卸载项目

  • 📕linux

    将autodepoly-linux文件夹拷贝到和jarmanage-depoly.jar同级目录

    root权限打开命令行autodepoly-linux目录

    命令行执行./install.sh自动安装项目

    命令行执行./uninstall.sh自动卸载项目

项目管理

  • ⛵ 项目信息包括服务名称,项目名称,部署端口,参数配置等信息

  • 🛶 前置参数与后置参数如果填写则会拼接为一条完整的启动语句

  • 🚤 前置参数:[depolyBeforeParam]

  • ⚓ 后置参数:[depolyAfterParam]

  • 🚢 执行语句: java [depolyBeforeParam] -jar [jarName] [depolyAfterParam] --server.port=[depolyPort]

  • 📙 jar包操作界面如下

jar包前置后置参数参考如下

# Java启动命令语法:
java [options] -jar file.jar [arguments]
java -jar [options] file.jar [arguments]
javaw [options] -jar file.jar [arguments] #javaw不会启动一个控制台窗口(启动失败的时候会弹出附有错误信息的窗口)
# 可选项(options)
# 程序参数(arguments)
# -jar 指定以 jar 包的形式执行一个应用程序

# 1、标准可选项(Standard options)
java -Dserver.port=8081 -jar app.jar     #(系统参数)-Dxxx是java运行参数的语法,作用是配置一些环境变量

# -D 是java用来设置全局参数的,可覆盖yaml文件中的变量,但无法覆盖远程Nacos变量值
# --key=value 可覆盖Nacos,优先级最高

-Dspring.profiles.active
-Dspring.config.location                 # 指定打包后配置文件的路径
-Dfile.encoding=utf=8                    # 设置字符集
-Djava.security.egd=file:/dev/./urandom  # 可以一定程度上加快应用启动
-Dspring.config.additional-location=./application-dev.yml      # 加载服务器配置文件

# 2、非标准可选项(Nonstandard Options)
java -Xms512m -Xmx1024m -jar app.jar

-Xms512m             # JVM初始堆内存
-Xmx1024m            # JVM最大堆内存
-XX:PermSize=256m       # JVM初始非堆内存
-XX:MaxPermSize=512m      # JVM最大非堆内存

# 3、程序参数(arguments)
java -jar app.jar a b c                # (非选项参数)a,b,c参数就是jar包里主启动类中main方法的args参数,按顺序来
java -jar app.jar --server.port=8081   # (选项参数)其作用等价于在application.properties中的server.port=8081

--server.port=8081
--spring.profiles.active=dev
--spring.cloud.bootstrap.name=bootstrap-dev
--spring.cloud.nacos.config.server-addr=127.0.0.3:8848

📕 war包操作界面如下,多出了映射路由,内存分配,跳过扫描等配置

⏸行为操作

  • 🎃 项目信息填写完毕后需要上传部署项目jar包
  • 🎄上传完毕后点击安装后进行启动
  • 🎉 项目启动后更新需要点击停止后进行卸载,重新上传jar包进行安装启动
  • 🍅 版本1.2.3更新后,不卸载情况下可以编辑基础信息,且可以直接上传新版本后启动

⏸配置管理

提供jar包/war包同级目录配置文件管理功能,支持yml,properties,xml三种格式

能够在线上传/编辑/查看/下载配置文件

⏸日志备份

  • 🐮 项目启动后会自动弹出启动日志并实时刷新
  • 🐴 在上传新部署包时会自动备份旧部署包,默认留存最新的5个文件
  • 🐫 提供备份还原功能,选择备份文件点击还原按钮
  • 🤠 会对上传的部署包进行版本留存,默认留存最新的10个文件,可设置强制留存(排除在最大留存数外)

扩展应用

这些是需要安装php环境才能使用的

PHP环境安装

MYSQL管理/文件管理/静态部署依赖PHP环境,php安装方式如下

  • 📙windows

    提供 php8.2.4安装包,执行php.bat脚本,重启电脑

  • 📕linux

    yum方式

    yum install php 
    yum install php php-cgi
    

⏸服务器监控

JarManage提供服务器监控模块,包含服务器信息/CPU使用情况/内存使用情况/磁盘信息

⏸MySQL管理

JarManage集成了adminer系统,能够在web端管理mysql数据库,效果如下

⏸Nginx管理

JarMange提供Nginx配置文件及部署目录管理功能(上传文件/上传压缩包自动解压/下载/编辑/保存),填写Nginx安装路径后方可使用

⏸文件管理

JarManage集成了tiny-file-manage系统,能够在web端管理jarmanage部署路径下的文件,效果如下

⏸静态部署

静态部署和文件管理环境要求一致,提供单独部署静态html站点功能

例如新建test文件夹,上传index.html文件,浏览器输入http://localhost:8555/static/test/ 即可访问站点

⏸动态代理

JarManage集成HTTP-Proxy-Servlet提供简单的代理功能,类似于Nginx的反向代理,示例如下图所示

【访问路由】JarManage访问路径(http://localhost:8555)后续的虚拟目录(/baidu)

【代理路径】需要代理的网页/接口路径

【代理效果】访问http://localhost:8555/访问路由 能够获取到代理路径的响应内容

⏸服务管理

JarManage提供系统服务可视化管理功能,包括服务搜索,开启服务,停止服务

需要以管理员身份/root用户进行部署,否则可能服务开启/停止时无权限

⏸防火墙管理

JarManage提供防火墙规则开放删除管理功能,适配widnows防火墙/firewall/ufw

注:对于系统存量开放端口不予以同步,只同步可视化管理部分

说明:

⏸运行目录

jarmanage-depoly.jar启动后会自动生成一些文件夹,目录说明如下

|------------|-----------------|
| 目录名称 | 说明 |
| command | 命令执行结果暂存目录 |
| database | 数据库文件目录 |
| depoly | 项目jar包部署目录 |
| depoly-war | 项目war包部署目录 |
| logs | jarmanage运行日志目录 |
| resources | 资源文件及配置文件目录 |
| webapp | 前端页面解压目录 |
| tomcat | 内置tomcat执行目录 |

⏸配置文件

resources文件夹下的application-custom.yml文件用于jarmanage的一些配置参数统一管理

如果后续项目升级增加配置,application-custom.yml不会自动增加,会读取application.yml的默认配置,需要手动将增加项手动同步到custom中

jarmanage:
  #映射路径
  contextpath: /
  #启动端口
  port: 8555
  #认证用户名
  username: admin
  #认证密码
  password: abcd@1234
  #自动备份文件留存数量
  backupcount: 5
  #上传部署包文件留存数量
  uploadcount: 10
  #配置文件后缀
  configFileExt: .yml,.properties,.xml
  #文件查看大小限制(MB)
  watchFileMaxSize: 5
  #开启菜单
  menuList: Machine;JarManage;WarManage;MySQL;Redis;Nginx;File;StaticDepoly;DynamicProxy;FireWall;Service
  #开启日志滚动
  logFileRoll: false
  #日志滚动文件大小(MB)
  logFileRollSize: 10
  #日志滚动保留文件数
  logFilekeepFiles: 20
redis:
  #redis管理开关状态
  open: true
  #redis地址
  host: localhost
  #redis端口
  port: 6379
  #redis用户
  user: default
  #redis密码
  password:

🍱 备注

  • 除映射路径和启动端口外其它配置参数都可以动态修改生效
  • 日志滚动默认关闭,需要开启请将logFileRoll及logFileRollSize参数拷贝到application-custom.yml中
  • 日志滚动切换开启关闭时,linux实时生效,windows需要重新卸载安装服务

|--------------|---------|
| Machine | 服务器监控 |
| JarManage | Jar包部署 |
| WarManage | War包部署 |
| MySQL | MySQL管理 |
| Redis | Redis管理 |
| Nginx | Nginx管理 |
| File | 文件管理 |
| StaticDepoly | 静态部署 |
| DynamicProxy | 动态代理 |
| FireWall | 防火墙管理 |
| Service | 服务管理 |

⏸开发打包

  • 😀 下载代码,idea导入pom文件,直接配置Application类点击运行
  • 😃 执行maven的package命令,会额外生成jarmanage-depoly.jar文件,包含所有引用可直接运行

⏸动态代理

当使用nginx代理时,location如果配置路径,则contextpath一定要配置,且与location保持一致,示例如下

  • 🌓location不配置目录

    🏈yml配置

    jarmanage:
      contextpath: /
    

    🏉nginx配置

    	server {
    		listen 8082;
    		server_name 192.168.1.14;
    		
    		location /{
    		  proxy_pass http://192.168.1.14:8555;
    		  proxy_http_version 1.1;
    		  proxy_set_header Upgrade $http_upgrade;
    		  proxy_set_header Connection "upgrade";
    		  proxy_read_timeout 600s;
    		  proxy_set_header Host $http_host; #后台可以获取到完整的ip+端口号
    		  proxy_set_header X-Real-IP $remote_addr; #后台可以获取到用户访问的真实ip地址
    		}
    
    	}
    
  • 🌗location配置目录

    🏈yml配置

    jarmanage:
      contextpath: /jarmanage
    

    🏉nginx配置

    	server {
    		listen 8082;
    		server_name 192.168.1.14;
    		
    		location /jarmanage{
    		  proxy_pass http://192.168.1.14:8555/jarmanage;
    		  proxy_http_version 1.1;
    		  proxy_set_header Upgrade $http_upgrade;
    		  proxy_set_header Connection "upgrade";
    		  proxy_read_timeout 600s;
    		  proxy_set_header Host $http_host; #后台可以获取到完整的ip+端口号
    		  proxy_set_header X-Real-IP $remote_addr; #后台可以获取到用户访问的真实ip地址
    		}
    
    	}
    

源地址:JarManage: 可视化jar包部署平台,自动注册为系统服务,兼容windows/linux - Gitee.com

相关推荐
嘵奇24 分钟前
SpringBoot五:Web开发
java·前端·spring boot
赤橙红的黄25 分钟前
SpringBoot两种方式接入DeepSeek
java·spring boot·spring
暗星涌动1 小时前
Java 与设计模式(17):责任链模式
java·设计模式·责任链模式
m0_726365831 小时前
某宝同款百度盘不限速后台系统源码_卡密系统_Java账号管理系统部署方案
java·开发语言
_nut_3 小时前
手撕跳表/数据结构
java·开发语言·数据结构
没明白白3 小时前
插入排序:一种简单而直观的排序算法
java·算法·排序算法
小猪咪piggy3 小时前
【数据结构】(12) 反射、枚举、lambda 表达式
java·开发语言·数据结构
web147862107233 小时前
数据库系统架构与DBMS功能探微:现代信息时代数据管理的关键
java·开发语言·数据库
wolf犭良3 小时前
21.《SpringBoot 异步编程@Async与CompletableFuture》
java·数据库·spring
程序员南飞3 小时前
算法-数据结构-图的构建(邻接矩阵表示)
java·数据结构·算法·职场和发展