标签搜索

目 录CONTENT

文章目录

GPL

小小城
2021-08-27 / 0 评论 / 0 点赞 / 8 阅读 / 23,393 字 / 正在检测是否收录...
温馨提示:
本文最后更新于 2022-05-02,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

GPL

[toc]

proxy-server

  1. 官方连接:https://gitee.com/fengfei/lanproxy
  2. 发布包下载地址:https://file.nioee.com/d/2e81550ebdbd416c933f/
  3. 主页:https://nat.nioee.com
  4. server端配置
  • server的配置文件放置在conf目录中,配置 config.properties
#代理程序绑定的IP,一般不用更换
server.bind=0.0.0.0

#与代理客户端通信端口【非常重要】
server.port=4900

#ssl相关配置
server.ssl.enable=true
server.ssl.bind=0.0.0.0
server.ssl.port=4993
server.ssl.jksPath=test.jks
server.ssl.keyStorePassword=123456
server.ssl.keyManagerPassword=123456

#这个配置可以忽略
server.ssl.needsClientAuth=false

#WEB在线配置管理相关信息,相当于代理服务的后台管理页面
config.server.bind=0.0.0.0
config.server.port=8090
config.admin.username=admin
config.admin.password=admin
  • 代理配置,打开地址 http://ip:8090 ,使用上面配置中配置的用户名密码登录,进入如下代理配置界面

image.png

image.png

  • 一个server可以支持多个客户端连接 配置数据存放在 ~/.lanproxy/config.json 文件中
  1. Java 客户端配置
  • Java client的配置文件放置在conf目录中,配置 config.properties
#与在proxy-server配置后台创建客户端时填写的秘钥保持一致;
client.key=
ssl.enable=true
ssl.jksPath=test.jks
ssl.keyStorePassword=123456

#这里填写实际的proxy-server地址;没有服务器默认即可,自己有服务器的更换为自己的proxy-server(IP)地址
server.host=lp.thingsglobal.org

#proxy-server ssl默认端口4993,默认普通端口4900
#ssl.enable=true时这里填写ssl端口,ssl.enable=false时这里填写普通端口
server.port=4990
  • 安装java1.7或以上环境
  • linux(mac)环境中运行bin目录下的 startup.sh
  • windows环境中运行bin目录下的 startup.bat
  1. 普通端口连接
  • 下载对应平台的release包,按下面的命令执行
# mac 64位
nohup ./client_darwin_amd64 -s SERVER_IP -p SERVER_PORT -k CLIENT_KEY &

# linux 64位
nohup ./client_linux_amd64 -s SERVER_IP -p SERVER_PORT -k CLIENT_KEY &

# windows 64 位
./client_windows_amd64.exe -s SERVER_IP -p SERVER_PORT -k CLIENT_KEY
  1. SSL端口连接
# mac 64位
nohup ./client_darwin_amd64 -s SERVER_IP -p SERVER_SSL_PORT -k CLIENT_KEY -ssl true &

# linux 64位
nohup ./client_linux_amd64 -s SERVER_IP -p SERVER_SSL_PORT -k CLIENT_KEY -ssl true &

# windows 64 位
./client_windows_amd64.exe -s SERVER_IP -p SERVER_SSL_PORT -k CLIENT_KEY -ssl true
  • 最后就可以使用公网IP + proxy设置的公网端口访问后台IP端口

image.png

halo

  1. 官方文档:https://docs.halo.run/zh/about
  2. Linux(CentOS)安装:
  • 目前运行 Halo 的最低依赖要求为 JRE 11,请务必确保在进行下面操作之前已经正确安装了 JRE。

  • 目前介绍两种 Linux 发行版的安装方式,均为 OpenJRE,不推荐 Oracle 版本

sudo yum install java-11-openjdk -y (最低jdk11)
  • 检查版本:
java -version
  • 如果输出以下类似内容即代表成功
openjdk version "11.0.10" 2021-01-19 LTS
OpenJDK Runtime Environment 18.9 (build 11.0.10+9-LTS)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.10+9-LTS, mixed mode, sharing)
  • 创建存放 运行包 的目录
mkdir ~/app && cd ~/app
  • 下载运行包
wget https://dl.halo.run/release/halo-1.4.11.jar -O halo.jar
  • 创建 工作目录
mkdir ~/.halo && cd ~/.halo
  • 下载示例配置文件到 工作目录
wget https://dl.halo.run/config/application-template.yaml -O ./application.yaml
  • 编辑配置文件,配置数据库或者端口等,如需配置请参考 参考配置
vim application.yaml
  • 测试运行 Halo
cd ~/app && java -jar halo.jar
  • 如看到类似以下日志输出,则代表启动成功。
run.halo.app.listener.StartedListener    : Halo started at         http://127.0.0.1:8090
run.halo.app.listener.StartedListener    : Halo admin started at   http://127.0.0.1:8090/admin
run.halo.app.listener.StartedListener    : Halo has started successfully!

  • 打开 http://ip: 端口号 即可看到安装引导界面
  1. 官方网站:https://halo.run/

chfs

  1. 官网:http://iscute.cn/chfs
  2. 基本用法
  • 非系统服务运行
  • 该程序是一个控制台程序,可直接双击运行,或在控制台/命令行中运行。可通过命令行参数进行相关配置,如使用'chfs --help'来查看帮助:
usage: chfs.exe []

Flags:
  --help              Show context-sensitive help (also try --help-long and
                      --help-man).
  --path=DIRECTORIES  Directories where store shared files, separated by '|'.
  --port=PORT         HTTP listening port(Default is 80).
  --allow=LIST        Allowed IPv4 addresses(Allow any address by default).
                      
                      White list mode: "listitem1[,listitem2,...]" e.g.
                      "192.168.1.2-192.168.1.10,192.169.1.222" allows this 10
                      addresses.
                      
                      Black list mode: "not(listitem1[,listitem2,...])" e.g.
                      "not(192.168.1.2-192.168.1.10,192.169.1.222)" bans this 10
                      addresses!
  --rule=LIST         Access rules(anybody can access any thing by default).
                      
                      List defines like:"USER:PWD:MASK[:DIR:MASK...][|...]":
                      
                        1,USER and PWD is account name and password
                        2,MASK:''=NO present,'r'=read,'w'=write,'d'=delete
                        3,r=view+download,w=r+upload+create+rename,d=w+delete
                        4,DIR is directory name, allows wildcard('*' & '?')
                        5,The 3rd field is access mask of shared root directory
                        6,The optional fields is pairs of sub-directory and mask
                        7,The optional sub-directory's mask overwrite parent's
                        8,You should avoid '|' ':' and white space(exclude DIR)
                      
                      For instance: "::|root:123456:rw" bans guest, and defines
                      a account 'root' can do anything
  --log=DIRECTORY     Log directory. Empty value will disable log.
  --file=FILE         A configuration file which overwrites & enhence the
                      settings.
  --version           Show application version.
  • 参数说明:
    image.png

  • 几个例子:

//都使用默认参数,共享目录为程序运行目录,监听端口号为80
chfs

//共享目录为D盘,监听端口号为8080
chfs --path="d:/" --port=8080

//共享目录为"d:\\projects"和"e:\\nsis",监听端口号为80
chfs --path="d:\\projects|e:\\nsis"

//白名单模式,允许192.168.1.2-192.168.1.100以及192.168.1.200进行访问
chfs --allow="192.168.1.2-192.168.1.100,192.168.1.200"

//黑名单模式,禁止192.168.1.2-192.168.1.100以及192.168.1.200进行访问
chfs --allow="not(192.168.1.2-192.168.1.100,192.168.1.200)"

//匿名用户具有只读权限(默认情况下匿名用户具有读写权限)
//账户ceshizu,密码为ceshizu123,对根目录的权限为只读,但对test目录具有读写权限
//账户yanfazu,密码为yanfazu123,对根目录的权限为只读,但对yanfa目录具有读写权限
chfs --rule="::r|ceshizu:ceshizu123:r:test:rw|yanfazu:yanfazu123:r:yanfa:rw"

//匿名用户什么权限都没有(默认情况下匿名用户具有读写权限)
//账户admin,密码为admin123,具有读写权限
//账户zhangsan,密码为zhangsan123,对根目录的权限为不可读写,但对zhangsanfiles目录具有读写权限
chfs --rule="::|admin:admin123:rw|zhangsan:zhangsan123::zhangsanfiles:rw"

//通过配置文件进行配置,该文件可以不存在,待以后需要更改配置时使用
chfs --file="d:\chfs\chfs.ini"
  • Tips 1:在Windows系统中,可以使用右键弹出菜单快捷地共享某个目录。步骤如下:
1, 下载注册表模板文件
2, 在该文件中编辑你的chfs.exe的真实路径,并可添加其他参数
3, 双击该脚本文件,进行注册表添加
  • Tips 2:另外,有几个功能需要通过配置文件中进行配置,其中主要的配置项有:
1, html.title: 自定义网页标题
2, html.notice: 自定义网页顶部的公告板。可以是文字,也可以是HTML标签,此时,需要适用一对``(反单引号,通过键盘左上角的ESC键下面的那个键输出)来包住所有HTML标签
3, ssl.cert和ssl.key: 用来配置SSL,启用HTTPS
4, folder.leaf.download: 仅最后一个目录可以打包下载
5, session.timeout: 会话的时长,单位是分钟

File Browser

  1. 官方文档:https://filebrowser.org/features
  2. 官网地址:https://filebrowser.org | https://github.com/filebrowser/filebrowser
  3. 官网安装方法:
  1. 配置
  • 创建配置数据库:filebrowser -d /etc/filebrowser.db config init

  • 设置监听地址:filebrowser -d /etc/filebrowser.db config set --address 0.0.0.0

  • 设置监听端口:filebrowser -d /etc/filebrowser.db config set --port 8088

  • 设置语言环境:filebrowser -d /etc/filebrowser.db config set --locale zh-cn

  • 设置日志位置:filebrowser -d /etc/filebrowser.db config set --log /var/log/filebrowser.log

  • 添加一个用户:filebrowser -d /etc/filebrowser.db users add root password --perm.admin,其中的root和password分别是用户名和密码,根据自己的需求更改。

  • 有关更多配置的选项,可以参考官方文档:https://docs.filebrowser.xyz/

  • 配置修改好以后,就可以启动 File Browser 了,使用-d参数指定配置数据库路径。示例:filebrowser -d /etc/filebrowser.db

  • 启动成功就可以使用浏览器访问 File Browser 了,在浏览器输入 IP:端口,示例:http://192.168.1.1:8088

  • 然后会看到 File Browser 的登陆界面,用刚刚创建的用户登陆。

  • 登陆以后,默认会看到 File Browser 运行目录下的文件,需要更改一下当前用户的文件夹位置。

  • 点击 [设置] → [用户设置] → 编辑用户 admin → 将目录范围改为你想要显示的文件夹,例如:/mnt → 修改完成后点击最下方的保存即可。

  • 这样,File Browser 的基本安装和配置就搞定了。

wgcloud

  1. 官网:https://www.wgstart.com/
  2. 官方文档:https://www.wgstart.com/docs.html
  3. 详细安装说明:https://www.wgstart.com/docs13.html
  4. 配置要求:
  •  server所在主机需要JDK1.8环境
  • 因server使用java微服务架构springboot开发,所以server所在主机需要JDK1.8环境,如已安装则忽略。如下命令,检测是否安装
java -version
  • 输出类似下面结果,证明已安装。linux安装JDK1.8请点击,windows安装JDK1.8请点击
java version "1.8.0_152"
Java(TM) SE Runtime Environment (build 1.8.0_152-b16)
Java HotSpot(TM) 64-Bit Server VM (build 25.152-b16, mixed mode)
  •  agent所在主机不需要JDK1.8
  • agent所在主机不需要JDK1.8及其他依赖,可直接运行
  • agent对linux要求为:内核版本2.6.23或更高,CentOS/RHEL 6.0以上
  • agent对windows要求为:windows server 2003(不含2003)以上,win7,win8,win10
  • macOS目前可以获取系统信息、内存、cpu,暂不能获取磁盘信息,其他验证中
  •  服务器硬件配置建议
  • agent运行对主机硬件基本无要求,如cpu、内存等,agent对资源使用率很低,可忽略
  • server运行对主机硬件要求,监控主机<100,server所在服务器1H2G或2H4G配置均可,100<监控主机<500,建议2H4G,监控主机>500,建议4H8G或更高,以此类推
  • 如果监控主机>100台时候,适当增加server内存使用,提升运算能力,修改server/start.sh中 -Xms128m -Xmx512m ,改为 -Xms512m -Xmx1024m

导入sql脚本
本产品数据库使用mysql,版本5.6或以上就可以,mysql8也支持(也支持MariaDB数据库,和mysql用一样的sql脚本导入即可)
创建数据库,名称为wgcloud,字符集设置为UTF-8 Unicode即可
导入sql脚本wgcloud.sql,sql文件在安装包里,解压后可以看到
创建完成

server配置文件说明(修改后需重启server生效,不用重启agent)
1.配置文件server/config/application.yml,除标红需要修改外,其他暂时默认即可,后续可根据实际场景再修改
将标红mysql数据库连接信息,改为自己的mysql数据库连接信息
管理员登陆账号密码,如标红部分admin/111111,暂时默认即可
wgToken为server和agent通信密钥,server和agent配置要保持一致,暂时默认即可
如果想修改server访问端口,将9999改为自己的端口(不能和守护进程端口相同),同时访问时也用修改后的端口,暂时默认即可
如果要使用web ssh功能,即堡垒机能力,web ssh服务默认端口为9998,server所在主机的9998端口要开放给浏览器端,不要让防火墙拦截。web ssh服务开关、端口都在下面配置文件修改,不需要web ssh可不开启此9998端口,暂时默认即可
server配置文件为yml格式,所有配置的地方冒号后必须紧跟一个英文空格
如何实现微信告警和钉钉告警
若server主机防火墙在运行,记得让防火墙开启这2个端口:9999(管理端页面访问)、9998(web ssh服务端口,可关闭此服务)

server:
  port: 9999
  servlet:
    session:
      timeout: 30m
    context-path: /wgcloud
#日志文件输出路径
logging:
  file:
    path: ./log
# 数据库 相关设置
spring:
  application:
    name: wgcloud-server
  datasource:
    driver-class-name: com.mysql.jdbc.Driver
    url: jdbc:mysql://localhost:3306/wgcloud?characterEncoding=utf-8&characterSetResults=utf8&autoReconnect=true&useSSL=false&allowMultiQueries=true
    username: root
    password: mysql
    hikari:
      validationTimeout: 3000
      connectionTimeout: 60000
      idleTimeout: 60000
      minimumIdle: 10
      maximumPoolSize: 10
      maxLifeTime: 60000
      connectionTestQuery: select 1
  mvc:
    static-path-pattern: /static/**
  thymeleaf:
    cache: false
mybatis:
  config-location: classpath:mybatis/mybatis-config.xml
  mapper-locations: classpath:mybatis/mapper/*.xml


#自定义配置参数
base:
  #管理员登陆账号
  account: admin
  #管理员登陆账号的密码
  accountPwd: 111111
  #只读账号(只有浏览权限,没有修改、删除、添加权限,此功能需升级到专业版)
  guestAccount: guest
  #只读账号的密码
  guestAccountPwd: 111111
  #通信token,agent端和此保持一致
  wgToken: wgcloud
  #是否开启web ssh客户端,yes开启,no关闭
  webSsh: yes
  #web ssh客户端的服务端口
  webSshPort: 9998
  #守护进程访问url,server服务使用,agent不使用(一般保持默认即可)
  daemonUrl: http://localhost:9997
  #是否开启公众看板,yes开启,no关闭,开启后看板页面无需登陆
  dashView: yes
  #是否开启大屏展示看板,yes开启,no关闭,开启后看板页面无需登陆
  dapingView: yes
  #是否自动闭合左侧菜单,yes是,no否
  sidebarCollapse: yes
  #是否开启指令下发(若关闭,将不能再新增和下发指令),yes是,no否
  shellToRun: yes
  #linux指令下发不能包含的敏感字符,多个用逗号隔开
  shellToRunLinuxBlock: 'rm ,mkfs, /dev/,:(){:|:&};:,mv ,wget , install '
  #windows指令下发不能包含的敏感字符,多个用逗号隔开
  shellToRunWinBlock: 'del ,delete ,format ,ren ,rd ,rd/s/q ,rmdir '
  #数据表监控间隔,单位秒,默认60分钟
  dbTableTimes: 3600
  #服务接口监控间隔,单位秒,默认10分钟
  heathTimes: 600
  #数通设备监控间隔,单位秒,默认15分钟
  dceTimes: 900
  #告警缓存时间间隔(此时间段内同一告警通知不再重复发),单位秒,默认120分钟。此期间只是不推送告警到第三方(邮件钉钉微信等)了,系统监控扫描工作仍正常进行
  warnCacheTimes: 7200
  #监控数据保留天数,默认15天
  historyDataOut: 15
  #节点类型,master或slave,一个集群只能有一个master和N(最多31)个slave,如:slave1,slave2
  nodeType: master
  #server/logo/目录下的ico图标名称,32*32,如favicon.png,ico图片格式暂不支持(请转为png),此功能需升级到专业版
  icoUrl: favicon.png
  #server/logo/目录下的logo图标名称,120*120,如logo.png,此功能需升级到专业版
  logoUrl: logo.png
  #软件名称,如wgcloud运维监控系统,此功能需升级到专业版
  wgName: wgcloud运维监控系统
  #简称,如wgcloud,此功能需升级到专业版
  wgShortName: wgcloud

#告警配置,策略优先级按照前后顺序执行,比如告警总开关关闭时,那下面所有告警开关都会失效
mail:
  #告警总开关,yes开启,no关闭
  allWarnMail: yes
  #不需要告警ip集合,多个用逗号,隔开,此主机所有监控资源都不会再告警
  blockIps: 
  #主机上行带宽速率bytes sent告警,yes开启,no关闭
  upSpeedMail: yes
  #主机上行带宽速率告警值,单位K/s,默认10M,超过此值即发送告警
  upSpeedVal: 10240
  #主机下行带宽速率bytes received告警,yes开启,no关闭
  downSpeedMail: yes
  #主机下行带宽速率告警值,单位K/s,默认10M,超过此值即发送告警
  downSpeedVal: 10240
  #内存告警开关,yes开启,no关闭。总开关开启后,此处设置才会生效。以下开关均遵循此规则。
  memWarnMail: yes
  #监控主机内存使用率%告警值,超过此值即发送告警
  memWarnVal: 99
  #CPU告警开关,yes开启,no关闭
  cpuWarnMail: yes
  #监控主机cpu使用率%告警值,超过此值即发送告警
  cpuWarnVal: 99
  #CPU温度告警开关,yes开启,no关闭
  cpuTemperatureWarnMail: no
  #cpu温度告警值℃,超过此值即发送告警
  cpuTemperatureWarnVal: 92
  #磁盘使用率%告警值,超过此值即发送告警
  diskWarnVal: 99
  #不需要告警磁盘在此屏蔽,多个盘符用,隔开,如/boot,/dev。支持Ant路径匹配规则,如/dev/**。特殊符号用单引号,如'C:'
  diskBlock: /dev
  #磁盘使用率告警开关,yes开启,no关闭
  diskWarnMail: yes
  #主机下线告警开关,yes开启,no关闭
  hostDownWarnMail: yes
  #进程下线告警,yes开启,no关闭
  appDownWarnMail: yes
  #DOCKER下线告警,yes开启,no关闭
  dockerDownWarnMail: yes
  #服务接口告警开关,yes开启,no关闭
  heathWarnMail: yes
  #数通设备告警,yes开启,no关闭
  dceWarnMail: yes
  #数据源连接失败告警开关,yes开启,no关闭
  dbDownWarnMail: yes
  #日志文件监控告警开关,yes开启,no关闭
  fileLogWarnMail: yes
  #端口telnet不通告警开关,yes开启,no关闭
  portWarnMail: yes
  #告警脚本绝对路径(若配置脚本,无论是否配置过邮件,都会执行该脚本),可以为空,参考模板:server/template/sendMsg.sh
  warnScript: 
	

agent配置文件说明(修改后需重启agent生效)
1.配置文件agent/config/application.properties,除标红需要修改外,其他暂时默认即可

#wgcloud-server端访问地址,将下方替换为server主机IP和端口即可,端口一定要写,即使是80也要写哈
serverUrl=http://localhost:9999

#本机ip,可以为空,为空时候默认取本机IP,配置不要超过50个字符
bindIp=192.168.1.2

#通信token,请和server端配置的wgToken保持一致
wgToken=wgcloud

#给server端上报数据频率,单位秒,个人版值不能小于120,专业版值不能小于30。除特殊业务场景外,建议上报频率不要少于1分钟
submitSeconds=120

#端口检测规则,telnet localhost或ip 端口号
telnetIp=localhost

#硬盘smart检测是否开启,yes开启,no关闭,开启时需要安装smartmontools工具才可用
smartOn=no

#是否允许agent执行server下发的指令,yes是,no否
shellToRun=no

#agent日志文件保留天数,默认保留最近30天日志文件
logDays=30

#监控日志文件扫描间隔时间,默认10分钟
logCheckSeconds=600

wgToken为agent和server通信的密钥,相当于密码,可以自定义为自己的配置密码,暂时保持默认即可
当监控主机数量>300时,根据mysql硬件配置,适当调整上报数据频率为3-4分钟,以减少server端数据压力
agent主动给server上报采集数据,agent不需要开启任何端口,因为server不会访问agent
2.注意
agent配置文件为properties类型,因此等号后面不需要保留空格
若无批量上传工具,可以使用常用工具里的批量上传工具

1.server启动
注意:linux检查下面红框内的文件是否有可执行权限,若无,则赋给可执行权限
image.png
start.sh启动服务,stop.sh停止服务
windows下用start.bat启动,启动后不可关闭黑窗口,停止服务关掉即可。
server启动完成大概10秒,10秒后再启动agent,当看到打印信息Started WgcloudServiceApplication in 13.655 seconds (JVM running for 14.998)就是启动完成了。
启动后通过http://192.168.1.1:9999/wgcloud访问登陆页面,把192.168.1.1改为自己的实际server主机IP和端口,默认登陆账号密码:admin/111111
WGCLOUD监控系统登陆页面截图
image.png
2.agent启动
注意:linux检查下面红框内的文件是否有可执行权限,若无,则赋给可执行权限
image.png
start.sh启动服务,stop.sh停止服务
win下用管理员身份启动wgcloud-agent-release.exe,启动后不可关闭黑窗口,停止服务关掉即可。若需要将agent注册为windows服务,请点击查看【2】

Jpom

  1. 官网:https://jpom-site.keepbx.cn/
  2. 说明文档:https://jpom-site.keepbx.cn/docs/index.html#/
  3. 安装说明:https://jpom-site.keepbx.cn/docs/#/%E5%AE%89%E8%A3%85%E4%BD%BF%E7%94%A8/%E5%BC%80%E5%A7%8B%E5%AE%89%E8%A3%85?id=%E5%AE%89%E8%A3%85%E6%8F%92%E4%BB%B6%E7%AB%AF
  4. 一键安装(linux)

插件端
安装的路径位于执行命令目录(数据、日志存放目录默认位于安装路径,如需要修改参考配置文件:extConfig.yml )

yum install -y wget && wget -O install.sh https://dromara.gitee.io/jpom/docs/install.sh && bash install.sh Agent

备用地址

yum install -y wget && wget -O install.sh https://cdn.jsdelivr.net/gh/dromara/Jpom/docs/install.sh && bash install.sh Agent

支持自动安装jdk环境

yum install -y wget && wget -O install.sh https://dromara.gitee.io/jpom/docs/install.sh && bash install.sh Agent jdk
Copy to clipboardErrorCopied
服务端
安装的路径位于执行命令目录(数据、日志存放目录默认位于安装路径,如需要修改参考配置文件:extConfig.yml )

如果需要修改数据、日志存储路径请参照 extConfig.yml 文件中 jpom.path 配置属性

yum install -y wget && wget -O install.sh https://dromara.gitee.io/jpom/docs/install.sh && bash install.sh Server

备用地址

yum install -y wget && wget -O install.sh https://cdn.jsdelivr.net/gh/dromara/Jpom/docs/install.sh && bash install.sh Server

支持自动安装jdk环境

yum install -y wget && wget -O install.sh https://dromara.gitee.io/jpom/docs/install.sh && bash install.sh Server jdk

支持自动安装jdk和maven环境

yum install -y wget && wget -O install.sh https://dromara.gitee.io/jpom/docs/install.sh && bash install.sh Server jdk+mvn
Copy to clipboardErrorCopied
特别提醒:一键安装的时候注意执行命令不可在同一目录下,即Server端和Agent端不可安装在同一目录下

下载安装
此方式为我们会在发布每个版本时打包一份为对应版本的安装包提供方便用户快速安装使用的方式

打包安装
此方式为用户下载最新源码或者定制功能后编译打包安装的方式

安装的环境要求
JDK 1.8+

完整安装JDK环境(jdk的lib目录需要包含tools.jar)

系统配置环境变量JAVA_HOME

环境变量可在程序管理命令文件最上方加入临时环境变量

Agent.sh/Server.sh:
export JAVA_HOME=/home/Jpom/jdk/jdk1.8.0_152
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$JAVA_HOME/lib/tools.jar
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
【JAVA_HOME=路径替换成实际jdk路径】

Agent.bat/Server.bat:
SET JAVA_HOME=D:\Jpom\Java8\jdk1.8.0_101
SET Classpath=%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\dt.jar;
SET Path=%JAVA_HOME%\bin;
【JAVA_HOME=路径替换成实际jdk路径;windows下路径建议不包含中文字符】

安装插件端(本案例以liunx服务器为例,windows结构类似)
服务器自定义安装目录,如:/home/Jpom/Agent

上传插件端安装包(agent-x.x.x-release.zip)到指定目录,如上:/home/Jpom/Agent/agent-x.x.x-release.zip

解压到当前目录,解压后移除安装包后,目录结构如下图:
image.png

Agent.bat/Agent.sh: 分别是Windows/Liunx系统下插件端管理程序命令文件
extConfig.yml: 为插件端外部配置文件
lib: 为插件端主程序jar包存放目录

根据自己的需求配置插件端外部配置文件extConfig.yml,如下图:
image.png

jpom数据存储路径(非必填,默认Jar包父级目录)
agent端管理账号,建议自定义
agent端管理密码,建议自定义
其他配置项按需配置
【注意:配置项遵守yml文件格式和语法,注意:后有空格】

确定插件端运行端口Agent.sh/Agent.bat文件中的配置,默认为:2123
其他参数修改请参考: 启动参数

Agent.sh赋执行权限[sudo chmod +x Agent.sh]

./Agent.sh start 启动(运行)插件端
管理命令详情请参考: 管理命令

如果已经配置授权账号,那么此插件端的授权账号及为配置的

如果没有配置授权账号或者密码,请注意插件端的启动日志中输出默认的授权账号信息

默认生成的账号信息规则

默认账号为:jpomAgent

默认密码为:随机生成的10个字符串

自动生成的授权账号要写入文件中方便后期查看

文件具体位置请注意控制台日志

【注意请牢记插件端的授权账号,如果拥有授权端账号信息将可以越过Server用户权限操作节点数据】

如果顺利启动那么Jpom的插件端(agent)算安装成功
安装失败请参考:启动失败

安装服务端(本案例以liunx服务器为例,windows结构类似)
服务器自定义安装目录,如:/home/Jpom/Server

上传服务端安装包(server-x.x.x-release.zip)到指定目录,如上:/home/Jpom/Server/server-x.x.x-release.zip

解压到当前目录,解压后移除安装包后,目录结构如下图:
image.png
Server.bat/Server.sh: 分别是Windows/Liunx系统下服务端管理程序命令文件
extConfig.yml: 为服务端外部配置文件
lib: 为服务端主程序jar包存放目录
根据自己的需求配置服务端外部配置文件extConfig.yml,如下图:
image.png
jpom数据存储路径(非必填,默认Jar包父级目录)
usr相关参数配置(账号锁定规则)
其他配置项按需配置 【注意:配置项遵守yml文件格式和语法,注意:后有空格】
确定服务端运行端口Server.sh/Server.bat文件中的配置,默认为:2122
其他参数修改请参考: 启动参数

Server.sh赋执行权限[sudo chmod +x Server.sh]

./Server.sh start 启动(运行)服务端
管理命令详情请参考: 管理命令

如果顺利启动那么Jpom的服务端(server)算安装成功
安装失败请参考:启动失败

启动成功后访问ip+server端port,按照提示初始化系统(设置系统管理员账号信息,请牢记系统管理员信息)

注意此处填写账号密码是设置Jpom系统的系统管理员的账号密码
系统管理员密码的强度有要求数字+字母+符号
注意不要把此处账号密码和节点的账号密码混淆

go-gin-api

  1. 官方文档:https://www.yuque.com/xinliangnote/go-gin-api/ngc3x5
  2. 环境准备
golang 1.15+
git 2.0+
  1. 设置代理
// linux or darwin
export GO111MODULE=on
export GOPROXY=https://goproxy.io
  1. 下载运行
$ git clone https://github.com/xinliangnote/go-gin-api
$ cd go-gin-api
$ go run main.go -env fat  // -env fat 设置为测试环境

EL-ADMIN

1. 简介

  • 一个基于 Spring Boot 2.1.0 、 Spring Boot Jpa、 JWT、Spring Security、Redis、Vue、Element-UI 的前后端分离的后台管理系统

2. 官方文档:

3.所需环境

1、JDK:1.8+ 
安装教程:https://www.runoob.com/java/java-environment-setup.html
2、Redis 3.0+
安装教程:https://www.runoob.com/redis/redis-install.html
3、Maven 3.0+
安装教程:https://www.runoob.com/maven/maven-setup.html
4、MYSQL 5.5.0+
安装教程:https://www.runoob.com/mysql/mysql-install.html
5、Node v10+ (最好使用 12,高版本可能会有问题)
安装教程:https://www.runoob.com/nodejs/nodejs-install-setup.html

前端安装完 node 后,最好设置下淘宝的镜像源,不建议使用 cnpm(可能会出现奇怪的问题)

npm config set registry https://registry.npm.taobao.org
配置后可通过下面方式来验证是否成功
npm config get registry

在 ~/.npmrc 加入下面内容,可以避免安装 node-sass 失败
sass_binary_site=https://npm.taobao.org/mirrors/node-sass/

.npmrc 文件位于
win:C:\Users\[你的账户名称]\.npmrc
linux:直接使用 vi ~/.npmrc

4. Git 地址

https://gitee.com/elunez/eladmin.git【后端】
git clone https://gitee.com/elunez/eladmin-web.git【前端】

5. 部署教程

  1. 打开数据库,创建一个新库 eladmin,导入sql文件夹中的初始化脚本库脚本 eladmin.sql
  2. 修改配置,如果你的数据库密码不是 123456,那么需要在 dev.yml 配置文件中做相应的修改
    image.png
  3. 执行mvn package 将项目打包为jar包在eladmin-system下的target当中
  4. 进入前端项目,执行npm install
  5. 执行npm run dev

mblog

  1. 简介
  • Mblog 开源Java博客系统, 支持多用户, 支持切换主题
  1. 说明文档
  1. 部署教程
  • 运行环境
  • 安装Java环境,项目是用java开发的,java运行环境是必须的,版本:jdk8
  • 安装MySQL数据库服务(如果选择的H2可以忽略此步骤)
  • git clone https://github.com/langhsu/mblog
  • 修改配置文件 src/main/resources/application-mysql.yml 里的数据库相关配置
  • 执行:mvn package打包成jar包
  • 浏览器运行 http://localhost:8080
  • 后台地址 http://localhost:8080/admin 管理员账号 admin 密码 12345

cloudreve

1. 简介

  1. Cloudreve能助您以最低的成本快速搭建公私兼备的网盘系统
  2. 官网:https://cloudreve.org/
  3. github:https://github.com/cloudreve/cloudreve
  4. 文档:https://docs.cloudreve.org/

2. 部署

  1. Linux下,直接解压并执行主程序即可:
# 解压获取到的主程序tar -zxvf cloudreve_VERSION_OS_ARCH.tar.gz
# 赋予执行权限chmod +x ./cloudreve
# 启动 Cloudreve ./cloudreve
  1. Cloudreve 在首次启动时,会创建初始管理员账号,请注意保管管理员密码,此密码只会在首次启动时出现。如果您忘记初始管理员密码,需要删除同级目录下的cloudreve.db,重新启动主程序以初始化新的管理员账户。
  2. Cloudreve 默认会监听5212端口。你可以在浏览器中访问http://服务器IP:5212进入 Cloudreve

3. 配置文件

  1. 首次启动时,Cloudreve 会在同级目录下创建名为conf.ini的配置文件,你可以修改此文件进行一些参数的配置,保存后需要重新启动 Cloudreve 生效。
  2. 你也可以在启动时加入-c参数指定配置文件路径:
./cloudreve -c /path/to/conf.ini
  1. 一个完整的配置文件示例如下:
[System]
; 运行模式
Mode = master
; 监听端口
Listen = :5000
; 是否开启 Debug
Debug = false
; Session 密钥, 一般在首次启动时自动生成
SessionSecret = 23333
; Hash 加盐, 一般在首次启动时自动生成
HashIDSalt = something really hard to guss

; SSL 相关
[SSL]
; SSL 监听端口
Listen = :443
; 证书路径
CertPath = C:\Users\i\Documents\fullchain.pem
; 私钥路径
KeyPath = C:\Users\i\Documents\privkey.pem

; 启用 Unix Socket 监听
[UnixSocket]
Listen = /run/cloudreve/cloudreve.sock

; 数据库相关,如果你只想使用内置的 SQLite数据库,这一部分直接删去即可
[Database]
; 数据库类型,目前支持 sqlite/mysql/mssql/postgres
Type = mysql
; MySQL 端口
Port = 3306
; 用户名
User = root
; 密码
Password = root
; 数据库地址
Host = 127.0.0.1
; 数据库名称
Name = v3
; 数据表前缀
TablePrefix = cd_
; 字符集
Charset = utf8
; SQLite 数据库文件路径
DBFile = cloudreve.db

; 从机模式下的配置
[Slave]
; 通信密钥
Secret = 1234567891234567123456789123456712345678912345671234567891234567
; 回调请求超时时间 (s)
CallbackTimeout = 20
; 签名有效期
SignatureTTL = 60

; 跨域配置
[CORS]
AllowOrigins = *
AllowMethods = OPTIONS,GET,POST
AllowHeaders = *
AllowCredentials = false

; Redis 相关
[Redis]
Server = 127.0.0.1:6379
Password =
DB = 0

; 从机模式缩略图
[Thumbnail]
MaxWidth = 400
MaxHeight = 300
FileSuffix = ._thumb

4. 使用 MySQL

  1. 默认情况下,Cloudreve 会使用内置的 SQLite 数据库,并在同级目录创建数据库文件cloudreve.db
  2. 如果您想要使用 MySQL,请在配置文件中加入以下内容,并重启 Cloudreve。
  3. 注意,Cloudreve 只支持大于或等于 5.7 版本的 MySQL 。
[Database]
; 数据库类型,目前支持 sqlite/mysql/mssql/postgres
Type = mysql
; MySQL 端口
Port = 3306
; 用户名
User = root
; 密码
Password = root
; 数据库地址
Host = 127.0.0.1
; 数据库名称
Name = v3
; 数据表前缀
TablePrefix = cd
; 字符集
Charset = utf8

5. 使用 Redis

  1. 你可以在配置文件中加入 Redis 相关设置:
[Redis]
Server = 127.0.0.1:6379
Password = your password
DB = 0

CIM

1. 简介

  1. CIM(CROSS-IM) 一款面向开发者的 IM(即时通讯)系统;同时提供了一些组件帮助开发者构建一款属于自己可水平扩展的 IM 。
  2. 借助 CIM 你可以实现以下需求:
  • IM 即时通讯系统。
  • 适用于 APP 的消息推送中间件。
  • IOT 海量连接场景中的消息透传中间件。

2. 文档

  1. github:https://github.com/crossoverJie/cim
  2. 系统架构
    image.png
  • CIM 中的各个组件均采用 SpringBoot 构建。
  • 采用 Netty 构建底层通信。
  • Redis 存放各个客户端的路由信息、账号信息、在线状态等。
  • Zookeeper 用于 IM-server 服务的注册与发现。
  1. 流程图
    image.png
  • 客户端向 route 发起登录。
  • 登录成功从 Zookeeper 中选择可用 IM-server 返回给客户端,并保存登录、路由信息到 Redis。
  • 客户端向 IM-server 发起长连接,成功后保持心跳。
  • 客户端下线时通过 route 清除状态信息

3. 快速启动

  1. 安装 Zookeeper、Redis
# The number of milliseconds of each tick
tickTime=2000
# The number of ticks that the initial
# synchronization phase can take
initLimit=10
# The number of ticks that can pass between
# sending a request and getting an acknowledgement
syncLimit=5
# the directory where the snapshot is stored.
# do not use /tmp for storage, /tmp here is just
# example sakes.
dataDir=/home/fangyuntao/apache-zookeeper-3.7.0-bin/data/zookeeper
dataLogDir=/home/fangyuntao/apache-zookeeper-3.7.0-bin/log
# the port at which the clients will connect
clientPort=2181
admin.serverPort=8888
# the maximum number of client connections.
# increase this if you need to handle more clients
#maxClientCnxns=60
#
# Be sure to read the maintenance section of the
# administrator guide before turning on autopurge.
#
# http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance
#
# The number of snapshots to retain in dataDir
#autopurge.snapRetainCount=3
# Purge task interval in hours
# Set to "0" to disable auto purge feature
#autopurge.purgeInterval=1

## Metrics Providers
#
# https://prometheus.io Metrics Exporter
#metricsProvider.className=org.apache.zookeeper.metrics.prometheus.PrometheusMetricsProvider
#metricsProvider.httpPort=7000
#metricsProvider.exportJvmInfo=true
  • ./zkServer.sh start
  1. 部署 IM-server(cim-server)
#!/bin/bash

cd /home/fangyuntao/cim-1.0.5/cim-server/target

nohup java -jar cim-server-1.0.0-SNAPSHOT.jar --cim.server.port=9000 --app.zk.addr=127.0.0.1:2181  > /home/fangyuntao/cim-1.0.5/server.out 2>&1 &
  1. 部署路由服务器(cim-forward-route)
#!/bin/bash

cd /home/fangyuntao/cim-1.0.5/cim-forward-route/target

nohup java -jar cim-forward-route-1.0.0-SNAPSHOT.jar --app.zk.addr=127.0.0.1:2181 --spring.redis.host=127.0.0.1 --spring.redis.port=6379 > /home/fangyuntao/cim-1.0.5/route.out 2>&1 &
  • 可能会出现获取redis连接失败的问题,Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is org.springframework.data.redis.RedisConnectionFailureException: Cannot get Jedis connection; nested exception is redis.clients.jedis.exceptions.JedisConnectionException: Could not get a resource from the pool] with root cause
  • 解决方法是重启redis
  1. 注册账号
curl -X POST --header 'Content-Type: application/json' --header 'Accept: application/json' -d '{
  "reqNo": "1234567890",
  "timeStamp": 0,
  "userName": "zhangsan"
}' 'http://路由服务器:8083/registerAccount'

  1. 启动本地客户端
#!/bin/bash

USER_ID=1635689851385
USER_NAME=zhangsan

cd /home/fangyuntao/cim-1.0.5/cim-client/target

java -jar cim-client-1.0.0-SNAPSHOT.jar --server.port=8084 --cim.user.id=${USER_ID} --cim.user.userName=${USER_NAME} --cim.route.url=http://127.0.0.1:8083/
  • 注意,启动多个客户端在同一个机器上需要把--server.port=8084置位不同(原因待定)

4. 使用方法

命令描述
:q!退出客户端
:olu获取所有在线用户信息
:all获取所有命令
:q [option]【:q 关键字】查询聊天记录
:ai开启 AI 模式
:qai关闭 AI 模式
:pu模糊匹配用户
:info获取客户端信息
:emoji [option]查询表情包 [option:页码]
:delay [msg] [delayTime]发送延时消息
userID;;msg给userID发送消息

mm-wiki

  1. 简介: MM-Wiki 是一个轻量级的企业知识分享与团队协同软件,可用于快速构建企业 Wiki 和团队知识分享平台。部署方便,使用简单,帮助团队构建一个信息共享、文档管理的协作环境。
  2. 安装
# 创建目录
$ mkdir mm_wiki
$ cd mm_wiki
# 以 linux amd64 为例,下载最新版本压缩包
# https://github.com/phachon/mm-wiki/releases 自行下载 wget http://
# 解压到当前目录
$ tar -zxvf mm-wiki-linux-amd64.tar.gz
# 进入程序安装目录
$ cd install
# 执行安装程序,默认端口为 8090,指定其他端口加参数 --port=8087
$ ./install
# 浏览器访问 http://ip:8090 进入安装界面,完成安装配置
# Ctrl + C 停止 install 程序, 启动 MM-Wiki 系统
$ cd ..
$ ./mm-wiki --conf conf/mm-wiki.conf
# 浏览器访问你监听的 ip 和端口
# 开始 MM-Wiki 的使用之旅吧!
  • nginx 配置反向代理
upstream frontends {
    server 127.0.0.1:8088; # MM-Wiki 监听的ip:port
}
server {
    listen      80;
    server_name wiki.intra.xxxxx.com www.wiki.intra.xxxxx.com;
    location / {
        proxy_pass_header Server;
        proxy_set_header Host $http_host;
        proxy_redirect off;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Scheme $scheme;
        proxy_pass http://frontends;
    }
    # 静态资源交由nginx管理
    location /static {
        root        /www/mm-wiki; # MM-Wiki 的根目录
        expires     1d;
        add_header  Cache-Control public;
        access_log  off;
    }
}
0

评论区