搭建自己的JRebel服务

news2024/12/27 15:53:47

引入

JRebel插件热部署快速入门教程

上一篇文章有提到如何使用JRebel,其中在激活JRebel那一步骤时咱们使用的激活地址实际就是放在我的个人服务器上,本篇文章咱们手把手的搭建一个个人的JRebel服务。

下载激活工具

下载地址

如下图所示,我们下载和系统相匹配的激活包

请添加图片描述

本地激活

1.运行激活工具

此时,我们如果在windows系统上的话,直接点击运行该工具,显示如图所示:

请添加图片描述
此时我们直接安装之前的教程,输入激活地址+UUID即可完成激活

例如: http://127.0.0.1:8888/0DB486B4-DDD7-4350-84AD-607CB3BB7ED8

请添加图片描述

JRebel激活

JRebel激活

获取并复制认证信息

激活流程

安装Jrebel插件后,走完正常流程,可通过此操作打开激活菜单

打开激活菜单

复制生成的认证信息,随便填写一个邮箱即可完成激活

激活jRebel

2.使用脱机模式许可

激活成功后记得配置离线模式,避免每次都要请求激活服务

顶部菜单的 帮助->JRebel->Configuration

请添加图片描述

点击work offline,使用脱机模式许可

请添加图片描述

部署一个远程服务

说明

独乐了不如众乐乐,咱们如果有个人云服务器的,可以分享一个激活接口出来,同时这里给大家一个模板网站,可以自行改造用来给自己打广告。

参考我的激活站点

启动服务

首先我们在前文提到的下载地址把linux的包下载好后,丢到自己的服务器上,然后咱们进入到该目录下直接执行文件即可:

chmod 777 ReverseProxy_linux_amd64  # 赋予所有权限
./ReverseProxy_linux_amd64 # 启动服务

控制台输出如图所示:

请添加图片描述

此时即可使用服务器的ip+地址激活,注意会占用8888端口,云服务器控制台的安全组和服务器的防火墙【如果有开】,记得开放一下8888端口

打印日志,并定期清理日志

1.我们执行如下命令,可以启动服务,并将日志输出到rp.log文件中:

./ReverseProxy_linux_amd64 > /usr/local/soft/JRebel_server/rp.log  2>&1 &

2.但是当有很多人连接你暴露的服务时,就会发现,会产生大量的日志,此时咱们可以写一个shell脚本,然后开启一个定时任务,每天清理日志,如下:

  • 第一步,先删除掉日志记录
  • 第二步,取到8888端占用的进程id
  • 第三步,用kill -15友好的结束该进程,这里循环15秒等待JRebelserver服务结束
  • 第四步,重新启动服务,并指定日志输出
rm -rf /usr/local/soft/JRebel_server/rp.log
pid=$(lsof -i:8888 | awk '/LISTEN/{print $2}')
if [ -n "$pid" ];then
  kill -15 $pid
  for i in {1..15}
  do
    pid=$(lsof -i:8888 | awk '/LISTEN/{print $2}')
    if [ -z $pid ]; then
      echo "JRebel_server已结束"
      break
    else
      echo "正在结束中,请等待..."
      sleep 1
    fi
  done
fi
nohup  /usr/local/soft/JRebel_server/ReverseProxy_linux_amd64 > /usr/local/soft/JRebel_server/rp.log  2>&1 &
echo "开启成功"

3.有了该shell脚本以后,咱们每次启动都可以清掉旧的日志,然后重新启动,此时咱们只需添加一个定时任务即可:

crontab -e   # 进入定时任务编写界面
0 0 * * *  sh /usr/local/soft/JRebel_server/start.sh # 设置每天24点执行一次shell脚本

网站模板

  • 这里直接给到我的网站模板给大家参考,大家自行修改即可
  • 图片可以直接粘贴我的站点 http://jrebel.longzipeng.online/
<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8" />
    <title>JRebel激活</title>
    <style>
      #licence {
        width: 1200px;
        outline: none;
        border: none;
        height: 60px;
        background-color: bisque;
        font-size: 25px;
      }
      .active-btn {
        margin-bottom: 10px;
      }
    </style>
  </head>
  <body>
    <div id="container">
      <h1>JRebel激活</h1>
      <button class="active-btn" onClick="changeLicence()">获取并复制认证信息</button>
      <div>
        <input id="licence" value="点击上方按钮,复制内容填写即可完成激活"></input>
      </div>
      <div>
        <h1>激活流程</h1>
        <h3>安装Jrebel插件后,走完正常流程,可通过此操作打开激活菜单</h3>
        <img src="./imgs/option1.png" alt="打开激活菜单">
        <h3>复制生成的认证信息,随便填写一个邮箱即可完成激活</h3>
        <img src="./imgs/option2.jpg" alt="激活jRebel">
      </div>
    </div>
    <script>
      var CHARS =
        "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz".split(
          ""
        );

      // 切换激活认证信息
      function changeLicence() {
        let el = document.getElementById("licence");
        // el.value = "http://jrebel_active.longzipeng.online/" + getUUID();
        el.value = "http://jrebel_active.longzipeng.online/" + getUUID();
        el.select();
        document.execCommand("copy");
      }
      function getUUID() {
        var chars = CHARS,
          uuid = new Array(36),
          rnd = 0,
          r;
        for (var i = 0; i < 36; i++) {
          if (i == 8 || i == 13 || i == 18 || i == 23) {
            uuid[i] = "-";
          } else if (i == 14) {
            uuid[i] = "4";
          } else {
            if (rnd <= 0x02) rnd = (0x2000000 + Math.random() * 0x1000000) | 0;
            r = rnd & 0xf;
            rnd = rnd >> 4;
            uuid[i] = chars[i == 19 ? (r & 0x3) | 0x8 : r];
          }
        }
        return uuid.join("");
      }
      // 页面初始化时执行一次
      changeLicence();
    </script>
  </body>
</html>

nginx配置

最后这里给大家我的nginx配置参考

# jrebel激活服务,将该域名的请求都代理到8888端口上 
server {
    listen 80;
    server_name jrebel_active.longzipeng.online;
    location / {
       proxy_pass   http://127.0.0.1:8888;
       index index.html index.htm;
    }
}
# jrebel站点
server {
    listen 80;
    server_name jrebel.longzipeng.online;

    location / {
       root         /usr/local/soft/JRebel_server/html;
       index index.html index.htm;
    }
}

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

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

相关文章

专注于绘画,不受限制!尝试Growly Draw for Mac的快速绘画应用

Growly Draw Mac版是Mac平台上的一款绘画应用&#xff0c;它提供了简单易用的画板页面和多种色彩、画笔工具&#xff0c;让你可以轻松地完成作画。无论你是初学者还是专业人士&#xff0c;都可以在这款应用中找到适合自己的绘画方式。通过使用Growly Draw Mac版&#xff0c;你可…

echarts 实现双y轴折线图示例

该示例有如下几个特点&#xff1a; ①实现tooltip自定义样式&#xff08;echarts 实现tooltip提示框样式自定义-CSDN博客&#xff09; ②legend左右区分展示 ③双y轴折线展示 代码如下&#xff1a; this.options {grid: {left: "3%",right: "3%",top: &…

3GPP TS38.201 NR; Physical layer; General description (Release 18)

TS38.201是介绍性的标准&#xff0c;简单介绍了RAN的信道组成和PHY层承担的功能&#xff0c;下图是PHY层相关标准的关系。 文章目录 结构信道类型调制方式PHY层支持的过程物理层测量其他标准TS 38.202: Physical layer services provided by the physical layerTS 38.211: Ph…

docker笔记14--docker-nerdctl-crictl-ctr使用对比

docker笔记14--docker-nerdctl-crictl-ctr使用对比 介绍工具对比dockernerdctlcrictlctr 注意事项说明 介绍 随着容器云技术的成熟&#xff0c;越来越多的从业者开始接触、熟悉 docker和containerd 了&#xff0c;很多时候需要同时在 docker 和 containerd之间切换&#xff0c…

L1 频段卫星导航射频前端低噪声放大器芯片MS2659

产品简述 MS2659 是一款具有高增益、低噪声系数的低噪声放大器 (LNA) &#xff0c;支持 L1 频段多模式全球卫星定位&#xff0c;可以应用于 GPS 、 北斗二代、伽利略、 GLONASS 等 GNSS 导航接收机中。芯片采 用 SOT23-6 的封装形式。 主要特点 ◼ 支持北斗、 …

java调用c函数

一、关于JNI JNI是Java Native Interface的缩写&#xff0c;JNI是JAVA平台专门用于和本地C代码进行相互操作的API&#xff0c;称为JAVA本地接口。 二、JNI开发流程 1.在JAVA中先声明一个native方法。2.通过javac -h或javah -jni命令导出JNI使用的C头头文件。3.使用C实现本地方…

科普丨企业防泄密软件是什么

企业防泄密软件是一种专门设计用于保护企业敏感信息不被泄露的软件产品。这类软件通常采用多种安全技术和策略&#xff0c;以增强企业数据的安全性和保密性&#xff0c;防止核心知识产权和商业机密的泄露。 域之盾软件----企业防泄密软件的主要功能包括&#xff1a; 1、数据加密…

16位 (MCU) R7F101G6G3CSP、R7F101G6E3CSP、R7F101G6G2DSP、R7F101G6E2DSP是新一代RL78通用微控制器

产品描述 RL78/G24微控制器具有RL78系列MCU的最高处理性能&#xff0c;CPU工作频率高达48MHz&#xff0c;设有灵活的应用加速器 (FAA)。FAA是一款专门用于算法运算的协处理器&#xff0c;可以独立于CPU运行&#xff0c;提供更高处理能力。RL78/G24 MCU具有增强的模拟功能和大量…

【MySQL】表的约束——主键、外键、唯一键,三键区别知否?

表的约束 前言正式开始空属性默认值comment列描述zerofill主键增删主键复合主键 自增长唯一键外键主键作为外键约束唯一键作为外键约束 总结 前言 我在上一篇讲完了所有的数据类型&#xff0c;数据类型本身也是MySQL中的一种约束&#xff0c;如果你对于MySQL中的数据类型不太了…

【面试经典150 | 数学】加一

文章目录 写在前面Tag题目来源解题思路方法一&#xff1a;加一 其他语言python3 写在最后 写在前面 本专栏专注于分析与讲解【面试经典150】算法&#xff0c;两到三天更新一篇文章&#xff0c;欢迎催更…… 专栏内容以分析题目为主&#xff0c;并附带一些对于本题涉及到的数据结…

wu-ui-uniapp 多平台快速开发的UI框架

WU-UI 多平台快速开发的UI框架(无论平台&#xff0c;一致体验) 官方群 wu-ui官方1群: 767943089 说明 wu-ui(如虎添翼) 是 全面兼容多端的uniapp生态框架&#xff0c;基于vue2、vue3和nvue开发。丰富组件库&#xff0c;便捷工具库&#xff0c;简单高效。无论平台&#x…

电子眼与无人机在城市安防中的协同应用研究

随着城市化进程的快速推进&#xff0c;城市安全问题成为了人们关注的焦点。传统的安防手段已经无法满足现代城市复杂多变的安全需求。因此&#xff0c;结合电子眼与无人机技术&#xff0c;实现二者之间的协同应用&#xff0c;成为提升城市安防能力的重要途径。 一、电子眼与无人…

ArcGIS Pro 优化的热点分析【Optimized Hot Spot Analysis】

ArcGIS Pro 优化的热点分析【Optimized Hot Spot Analysis】Optimized Hot Spot Analysis 优化的热点分析https://mp.weixin.qq.com/s/lfoIls8exW5G6PPJ9gtDew em&#xff0c;先给大家推荐一个空间统计分析的学习资源网站 https://spatialstats-analysis-1.hub.arcgis.com/ .…

基于SSM的个人通讯录(有报告)。Javaee项目。

演示视频&#xff1a; 基于SSM的个人通讯录&#xff08;有报告&#xff09;。Javaee项目。 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到网站。 项目介绍&#xff1a; 采用M&#xff08;mod…

全新小权云黑系统

小权云黑管理系统 V1.0 功能如下&#xff1a; 1.添加骗子&#xff0c;查询骗子 2.可添加团队后台方便审核用 3.在线反馈留言系统 4.前台提交骗子&#xff0c;后台需要审核才能过 5.后台使用光年UI界面 6.新增导航列表&#xff0c;可给网站添加导航友链 7.可添加云黑类型收录 8.…

【Linux专题】firewalld 过滤出接口流量

【赠送】IT技术视频教程&#xff0c;白拿不谢&#xff01;思科、华为、红帽、数据库、云计算等等_厦门微思网络的博客-CSDN博客文章浏览阅读428次。风和日丽&#xff0c;小微给你送福利~如果你是小微的老粉&#xff0c;这里有一份粉丝福利待领取...如果你是新粉关注到了小微&am…

3分钟搞懂oled透明触摸显示屏

OLED透明触摸显示屏是一种先进的显示技术&#xff0c;它结合了OLED显示屏和触摸功能&#xff0c;具有透明度高、色彩鲜艳、触摸灵敏、节能环保等优点。下面用3分钟时间&#xff0c;为您讲解OLED透明触摸显示屏的基本原理、特点和优势。 OLED透明触摸显示屏的基本原理 OLED透明…

易点易动RFID管理系统:年终固定资产盘点的革命

随着现代企业规模的扩大和固定资产数量的增加&#xff0c;年终固定资产盘点成为了一项繁琐而耗时的任务。传统的手工盘点方法不仅效率低下&#xff0c;还容易出现错误和遗漏。为了解决这一难题&#xff0c;易点易动RFID管理系统应运而生。本文将重点介绍易点易动RFID管理系统在…

JMeter --- 生成HTML性能测试报告

一、生成HTML测试报告的两种方式 1、利用已有.jtl文件生成报告 上篇文章介绍过如何在linux环境运行jmeter并生成报告&#xff0c;如果已经有经过测试生成的.jtl文件&#xff0c;可以利用该文件直接生成HTML可视化测试报告。 进入jmeter的bin目录下&#xff0c;输入如下命令&…

鸿蒙应用开发初尝试《创建项目》,之前那篇hello world作废

经过几年的迅速发展&#xff0c;鸿蒙抛弃了JAVA写应用的方式&#xff0c;几年前了解的鸿蒙显然就gg了。 这几年鸿蒙发布了方舟&#xff08;ArkUI Arkts&#xff09;&#xff0c;将TypeScript作为了推荐开发语言&#xff0c;你依然可以用FAJS,但华为推荐用StageArkTs!!!那么你还…