安装可视化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

相关推荐
腥臭腐朽的日子熠熠生辉28 分钟前
解决maven失效问题(现象:maven中只有jdk的工具包,没有springboot的包)
java·spring boot·maven
ejinxian30 分钟前
Spring AI Alibaba 快速开发生成式 Java AI 应用
java·人工智能·spring
杉之35 分钟前
SpringBlade 数据库字段的自动填充
java·笔记·学习·spring·tomcat
圈圈编码1 小时前
Spring Task 定时任务
java·前端·spring
俏布斯1 小时前
算法日常记录
java·算法·leetcode
27669582921 小时前
美团民宿 mtgsig 小程序 mtgsig1.2 分析
java·python·小程序·美团·mtgsig·mtgsig1.2·美团民宿
爱的叹息1 小时前
Java 连接 Redis 的驱动(Jedis、Lettuce、Redisson、Spring Data Redis)分类及对比
java·redis·spring
程序猿chen1 小时前
《JVM考古现场(十五):熵火燎原——从量子递归到热寂晶壁的代码涅槃》
java·jvm·git·后端·java-ee·区块链·量子计算
松韬2 小时前
Spring + Redisson:从 0 到 1 搭建高可用分布式缓存系统
java·redis·分布式·spring·缓存
绝顶少年2 小时前
Spring Boot 注解:深度解析与应用场景
java·spring boot·后端