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

发布于:2025-02-22 ⋅ 阅读:(11) ⋅ 点赞:(0)

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

脚本注册

项目提供注册脚本一键部署,将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环境安装

      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