专栏名称: Java知音
专注于Java,推送技术文章,热门开源项目等。致力打造一个有实用,有情怀的Java技术公众号!
目录
相关文章推荐
InfoQ架构头条  ·  “天价”ERP ... ·  4 天前  
51好读  ›  专栏  ›  Java知音

一款高颜值、现代化的智能运维平台

Java知音  · 公众号  · 运维  · 2024-09-05 10:00

正文

今天给大家介绍一款高颜值、现代化的智能运维&轻量堡垒机平台。

功能

  • 资产管理: 支持对资产进行分组,实现对主机、密钥和身份的统一管理和授权。
  • 在线终端: 提供在线终端 SSH 服务,支持快捷命令、自定义快捷键和主题风格。
  • 文件管理: 支持远程主机 SFTP 大文件的批量上传、下载和在线编辑等操作。
  • 批量操作: 支持批量执行主机命令、多主机文件分发等功能。
  • 计划任务: 支持配置 cron 表达式,定时执行主机命令。
  • 安全可靠: 动态配置权限,记录用户操作日志,提供简单的审计功能。

快速开始

所需环境

  • jdk 1.8
  • mysql 8.0.+
  • redis 6.0.+
  • maven 3.5.+
  • node 18.12.+
  • pnpm 9.1.+
  • nginx

拉取代码

# github
git clone https://github.com/dromara/orion-visor
# gitee
git clone https://gitee.com/dromara/orion-visor

初始化数据库

# 执行脚本
orion-visor/sql/init-1-schema-databases.sql
orion-visor/sql/init-2-schema-tables.sql
orion-visor/sql/init-3-schema-quartz.sql
orion-visor/sql/init-4-data.sql

构建后端代码

# 修改配置文件 (mysql, redis, secret-key)
orion-visor/orion-visor-launch/src/main/resources/application-prod.yaml

# 进入代码目录
cd orion-visor
# 编译
mvn -U clean install -DskipTests

构建前端代码

# 进入代码目录
cd orion-visor/orion-visor-ui
# 下载 pnpm
npm i -g pnpm
# 下载依赖
pnpm i
# 编译
pnpm build

修改 nginx 配置

server {
    listen       80;
    server_name  localhost;
    client_max_body_size 1024m;

    # 是否启动 gzip 压缩
    gzip  on;
    # 需要压缩的常见静态资源
    gzip_types text/plain application/javascript application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png;
    # 如果文件大于 1k 就启动压缩
    gzip_min_length 1k;
    # 缓冲区
    gzip_buffers 4 16k;
    # 压缩的等级
    gzip_comp_level 2;
    # access_log  /var/log/nginx/host.access.log  main;

    location / {
        root   /usr/share/nginx/html;
        index  index.html index.htm;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP  $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        # web history 模式 404
        try_files $uri $uri/ /index.html;
    }

    location /orion-visor/api {
        proxy_pass    http://localhost:9200/orion-visor/api;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP  $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }

     location /orion-visor/keep-alive {
        proxy_pass    http://localhost:9200/orion-visor/keep-alive;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_read_timeout 3600s;
        proxy_send_timeout 3600s;
    }

    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }

}

部署

复制 orion-visor/orion-visor-ui/dist/usr/share/nginx/html

复制 orion-visor/orion-visor-launch/target/orion-visor-launch.jar/data/orion-visor-space

# 启动后台服务
nohup java -jar orion-visor-launch.jar --spring.profiles.active=prod 2>&1 &
# 启动 nginx
service nginx start

测试访问

等待后端服务启动后 (2min±) 在浏览器中输入 http://localhost:1081/ 访问 账号: admin 密码: admin

界面截图

开源地址

  • https://gitee.com/dromara/orion-visor

后端专属技术群

构建高质量的技术交流社群,欢迎从事编程开发、技术招聘HR进群,也欢迎大家分享自己公司的内推信息,相互帮助,一起进步!

文明发言,以交流技术职位内推行业探讨为主

广告人士勿入,切勿轻信私聊,防止被骗

加我好友,拉你进群