diff --git a/README.md b/README.md index 86da4b1f..52dde0dd 100644 --- a/README.md +++ b/README.md @@ -14,6 +14,7 @@ - [2.1 快速体验](#21-快速体验) - [2.2 服务管理脚本部署,感谢 @Colsro 提供](#22-服务管理脚本部署感谢-colsro-提供) - [2.3 Railway 部署](#23-railway-部署) + - [2.4 前后端分离部署](#24-前后端分离部署) - [3. 服务端说明](#3-服务端说明) - [3.1 配置文件 `config.toml`](#31-配置文件-configtoml) - [3.2 服务端运行](#32-服务端运行) @@ -23,9 +24,10 @@ - [5. 开启 `vnstat` 支持](#5-开启-vnstat-支持) - [6. FAQ](#6-faq) - [7. 相关项目](#7-相关项目) + - [8. 最后](#8-最后) ## 1. 介绍 -`cppla/ServerStatus` 威力加强版,保持轻量和简化部署,增加主要特性如下: + `cppla/ServerStatus` 的威力加强版,保持轻量和简化部署,增加主要特性如下: - 使用 `rust` 完全重写 `server`、`client`,单个执行文件部署 - 支持上下线和简单自定义规则告警 (`telegram`、 `wechat`、 `email`) @@ -106,6 +108,60 @@ help: [![Deploy on Railway](https://railway.app/button.svg)](https://railway.app/new/template/kzT46l?referralCode=pJYbdU) +### 2.4 前后端分离部署 + +
+ 前后端分离部署 + +```bash +# 1. 参照前面先把 Server 部署好 +# 2. 复制 web 目录,新建一个代码库,工程目录结构如下 + +~$ tree . +. +├── README.md +├── css +│ ├── bootstrap-theme.min.css +│ ├── bootstrap-theme.min.css.map +│ ├── bootstrap.min.css +│ ├── bootstrap.min.css.map +│ └── dark.css +├── favicon.ico +├── img +│ └── dark.png +├── index.html +├── js +│ ├── bootstrap.min.js +│ ├── jquery.min.js +│ └── serverstatus.js +├── netlify.toml +└── vercel.json + +# 3. 在工程目录添加 vercel.json 文件来指定路由,指向你的 Server,内容如下 + +{ + "routes": [ + { + "src": "/json/stats.json", + "dest": "http://tz.xxx.com:8080/json/stats.json" + }, + { + "src": "/detail", + "dest": "http://tz.xxx.com:8080/detail" + }, + { + "src": "/map", + "dest": "http://tz.xxx.com:8080/map" + } + ] +} + +# 4. 最后将这个静态站点部署到 vercel.com +# 部署教程参照 =》 google 搜索 "vercel.com 部署静态站点" +``` + +
+ ## 3. 服务端说明 ### 3.1 配置文件 `config.toml` @@ -164,7 +220,7 @@ custom_tpl = """ ```bash # systemd 方式, 参照 one-touch.sh 脚本 (推荐) -# 手动方式 +# 💪 手动方式 # help ./stat_server -h # 手动运行 @@ -177,7 +233,7 @@ RUST_BACKTRACE=1 RUST_LOG=trace ./stat_server -c config.toml # 根据配置发送测试消息,验证通知是否生效 ./stat_server -c config.toml --notify-test -# docker 方式 +# 🐳 docker 方式 wget --no-check-certificate -qO docker-compose.yml 'https://raw.githubusercontent.com/zdz/ServerStatus-Rust/master/docker-compose.yml' wget --no-check-certificate -qO config.toml 'https://raw.githubusercontent.com/zdz/ServerStatus-Rust/master/config.toml' touch stats.json @@ -195,7 +251,7 @@ docker-compose up -d # systemd 方式, 参照 one-touch.sh 脚本 (推荐) -# 手动方式 +# 💪 手动方式 # Rust 版本 Client ./stat_client -h ./stat_client -a "http://127.0.0.1:8080/report" -u h1 -p p1 @@ -376,10 +432,15 @@ OPTIONS: 关于这个轮子 之前一直在使用 `Prometheus` + `Grafana` + `Alertmanager` + `node_exporter` 做VPS监控,这也是业界比较成熟的监控方案,用过一段时间后,发现非生产环境的话,很多监控指标都用不上,反而显得有些重。 - `ServerStatus` 很好,足够简单和轻量,一眼可以看尽大好山河,只是 `c++` 版本很久没迭代过,自己的一些需求在原版上不是很好修改,如自带 `tcp` 上报对跨区机器不是很友好,也不方便对上报的链路优化 等等。过年的时候正值疫情闲来无事,学习 `Rust` 正好需要个小项目练手,于是撸了个 `ServerStatus` 来练手,项目后面会继续维护但不会增加复杂的功能,保持小而美,简单部署,配合 [Uptime Kuma](https://github.com/louislam/uptime-kuma) 基本上可以满足个人大部分监控需求。 + 而 `ServerStatus` 很好,足够简单和轻量,一眼可以看尽大好山河,只是 `c++` 版本很久没迭代过,自己的一些需求在原版上不是很好修改,如自带 `tcp` 上报对跨区机器不是很友好,也不方便对上报的链路优化 等等。过年的时候正值疫情闲来无事,学习 `Rust` 正好需要个小项目练手,于是撸了个 `ServerStatus` 来练手,项目后面会继续维护但不会增加复杂的功能,保持小而美,简单部署,配合 [Uptime Kuma](https://github.com/louislam/uptime-kuma) 基本上可以满足个人大部分监控需求。 ## 7. 相关项目 - https://github.com/cppla/ServerStatus - https://github.com/BotoX/ServerStatus + +## 8. 最后 + + 很高兴我的代码能跑在你的服务器上,如果对你有帮助的话,欢迎留下你的 star ⭐ 支持一下 +