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

news2025/2/25 19:07:44

一、下载

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

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

二、运行

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

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

    java -jar jarmanage-depoly.jar

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

  • 🚑 访问 http://localhost:8555/
  • 🚋 输入用户名:admin 密码:abcd@1234

注:如果想修改账号密码,找到配置文件 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包部署目录
      logsjarmanage运行日志目录
      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服务器监控
      JarManageJar包部署
      WarManageWar包部署
      MySQLMySQL管理
      RedisRedis管理
      NginxNginx管理
      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

      本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2305984.html

      如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

      相关文章

      基于数据可视化+SpringBoot+安卓端的数字化OA公司管理平台设计和实现

      博主介绍:硕士研究生,专注于信息化技术领域开发与管理,会使用java、标准c/c等开发语言,以及毕业项目实战✌ 从事基于java BS架构、CS架构、c/c 编程工作近16年,拥有近12年的管理工作经验,拥有较丰富的技术架…

      输入搜索、分组展示选项、下拉选取,全局跳转页,el-select 实现 —— 后端数据处理代码,抛砖引玉展思路

      详细前端代码写于上一篇:输入搜索、分组展示选项、下拉选取,el-select 实现:即输入关键字检索,返回分组选项,选取跳转到相应内容页 —— VUE项目-全局模糊检索 【效果图】:分组展示选项 >【去界面操作体…

      性能巅峰对决:Rust vs C++ —— 速度、安全与权衡的艺术

      ??关注,带你探索Java的奥秘!?? ??超萌技术攻略,轻松晋级编程高手!?? ??技术宝库已备好,就等你来挖掘!?? ??订阅,智趣学习不孤单!?? ??即刻启航,编…

      unity学习53:UI的子容器:面板panel

      目录 1 UI的最底层容器:canvas 1.1 UI的最底层容器:canvas 1.2 UI的合理结构 2 UI的子容器:面板panel 2.1 创建panel 2.2 面板的本质: image ,就是一个透明的图片,1个空容器 3 面板的属性 4 面板的…

      4-知识图谱的抽取与构建-4_2实体识别与分类

      🌟 知识图谱的实体识别与分类🔥 🔍 什么是实体识别与分类? 实体识别(Entity Recognition)是从文本中提取出具体的事物,如人名、地名、组织名等。分类(Entity Classification&#x…

      elasticsearch在windows上的配置

      写在最前面: 上资源 第一步 解压: 第二步 配置两个环境变量 第三步 如果是其他资源需要将标蓝的文件中的内容加一句 xpack.security.enabled: false 不同版本的yaml文件可能配置不同,末尾加这个 xpack.security.enabled: true打开bin目…

      详解分布式ID实践

      引言 分布式ID,所谓的分布式ID,就是针对整个系统而言,任何时刻获取一个ID,无论系统处于何种情况,该值不会与之前产生的值重复,之后获取分布式ID时,也不会再获取到与其相同的值,它是…

      【Rust中级教程】2.8. API设计原则之灵活性(flexible) Pt.4:显式析构函数的问题及3种解决方案

      喜欢的话别忘了点赞、收藏加关注哦(加关注即可阅读全文),对接下来的教程有兴趣的可以关注专栏。谢谢喵!(・ω・) 说句题外话,这篇文章一共5721个字,是我截至目前写的最长的一篇文章&a…

      【复习】Redis

      数据结构 Redis常见的数据结构 String&#xff1a;缓存对象Hash&#xff1a;缓存对象、购物车List&#xff1a;消息队列Set&#xff1a;点赞、共同关注ZSet&#xff1a;排序 Zset底层&#xff1f; Zset底层的数据结构是由压缩链表或跳表实现的 如果有序集合的元素 < 12…

      STM32使用NRF2401进行数据传送

      NRF2401是一款由Nordic Semiconductor公司生产的单片射频收发芯片&#xff0c;以下是关于它的详细介绍&#xff1a; 一、主要特点 工作频段&#xff1a;NRF2401工作于2.4~2.5GHz的ISM&#xff08;工业、科学和医疗&#xff09;频段&#xff0c;该频段无需申请即可使用&#xf…

      DeepSeek、微信、硅基流动、纳米搜索、秘塔搜索……十种不同方法实现DeepSeek使用自由

      为了让大家实现 DeepSeek 使用自由&#xff0c;今天分享 10 个畅用 DeepSeek 的平台。 一、官方满血版&#xff1a;DeepSeek官网与APP 首推&#xff0c;肯定是 DeepSeek 的官网和 APP&#xff0c;可以使用满血版 R1 和 V3 模型&#xff0c;以及联网功能。 网址&#xff1a; htt…

      Orange 开源项目 - 集成阿里云大模型

      1 阿里云的大模型服务平台百炼 阿里云的大模型服务平台百炼是一站式的大模型开发及应用构建平台。不论是开发者还是业务人员&#xff0c;都能深入参与大模型应用的设计和构建。您可以通过简单的界面操作&#xff0c;在5分钟内开发出一款大模型应用&#xff0c;或在几小时内训练…

      公开整理-最新中国城市统计NJExcel+PDF版本(1985-2024年)

      数据简介&#xff1a;《中国城市统计NJ》从1985年开始&#xff0c;本NJ内容共分四个部分:第一部分是全国城市行政区划,列有不同区域、不同级别的城市分布情况;第二、三部分分别是地级以上城市统计资料和县级城市统计资料,具体包括人口、劳动力及土地资源、综合经济、工业、交通…

      KubeSphere平台安装

      KubeSphere简介 KubeSphere 是一款功能强大的容器管理平台&#xff0c;以下是其简介&#xff1a; 1&#xff09;基本信息 开源项目&#xff1a;基于 Apache-2.0 授权协议开源&#xff0c;由 Google Go、Groovy、HTML/CSS 和 Shell 等多种编程语言开发。基础架构&#xff1a;…

      Claude 3.7 Sonnet 泄露,Anthropic 最先进 AI 模型即将在 AWS Bedrock 上首次亮相

      (图片&#xff1a;AWS) Anthropic 旗下先进的 AI 模型 Claude 3.7 Sonnet 似乎即将发布。业界预计&#xff0c;亚马逊可能会在2025年2月26日的活动中公布相关消息。泄露的信息表明&#xff0c;该模型将托管于 AWS Bedrock 平台&#xff0c;该平台以提供尖端 AI 模型访问而闻名…

      ONNX转RKNN的环境搭建和部署流程

      将ONNX模型转换为RKNN模型的过程记录 工具准备 rknn-toolkit:https://github.com/rockchip-linux/rknn-toolkit rknn-toolkit2:https://github.com/airockchip/rknn-toolkit2 rknn_model_zoo:https://github.com/airockchip/rknn_model_zoo ultralytics_yolov8:https://github…

      Linux红帽:RHCSA认证知识讲解(二)配置网络与登录本地远程Linux主机

      Linux红帽&#xff1a;RHCSA认证知识讲解&#xff08;二&#xff09;配置网络与登录本地远程Linux主机 前言一、使用命令行&#xff08;nmcli 命令&#xff09;配置网络&#xff0c;配置主机名第一步第二步修改主机名称 二、使用图形化界面&#xff08;nmtui 命令&#xff09;配…

      深入浅出ES6:现代JavaScript的基石

      ES6&#xff08;ECMAScript 2015&#xff09;是JavaScript语言的一次重大更新&#xff0c;引入了许多新特性&#xff0c;使JavaScript更加强大、优雅和易于维护。这些特性已经成为现代JavaScript开发的基石&#xff0c;掌握它们对于任何JavaScript开发者都至关重要。本文将深入…

      小型字符级语言模型的改进方向和策略

      小型字符级语言模型的改进方向和策略 一、回顾小型字符级语言模型的处理流程 前文我们已经从零开始构建了一个小型字符级语言模型,那么如何改进和完善我们的模型呢?有哪些改进的方向?我们先回顾一下模型的流程: 图1 小型字符级语言模型的处理流程 (1)核心模块交互过程:…

      一周学会Flask3 Python Web开发-Jinja2模板访问对象

      锋哥原创的Flask3 Python Web开发 Flask3视频教程&#xff1a; 2025版 Flask3 Python web开发 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili 如果渲染模板传的是对象&#xff0c;如果如何来访问呢&#xff1f; 我们看下下面示例&#xff1a; 定义一个Student类 cla…