前言
好久没有更新了,最近开学忙的事情比较多。这几天还新搞了一台机子,专门用于搭建之前的 code-server,具体请看:
https://hoyue.fun/vps-code-server.html
但是 code-server 占用的硬盘让我原来那只小鸡吃不消了,于是重新开一个,顺便搭建个简单的实时监控来看看运行情况。这里没有用到很多功能强大探针,是因为我的机子不是很多没必要,而且 Ward 界面好看。
预览图:

演示地址:https://status.code.hoyue.fun/
话不多说直接开始。
准备工作
我们在部署前需要做一些准备工作,本次记录使用的环境:
- VPS:Japan BGP(xtom 机房),有条件的建议选择大陆的服务器,速度会更快。
- 系统:Debian 11(Linux x86_64)
- 环境:安装好 Docker,Docker Compose 等。
我们先确认一下 docker 是否安装成功,在 ssh 输入 docker -v 出现版本号类似页面即可。

最好也更新一下先:
# Ubuntu/Debiansudo apt-get update# CentOSyum -y update部署
因为开发者取消了一键部署,我们使用传统的手动部署。
首先我们先建立镜像文件夹以便等会 clone:
mkdir -p ~/data/docker_data/Wardcd ~/data/docker_data/Wardgit clone https://github.com/AntonyLeons/Ward.git ## 在创建的文件夹下克隆项目并构建镜像cd Warddocker build . --tag ward建议这个地方一行行来运行!
全部执行完以后我们检查一下,输入下面代码看看是否已经成功拉取:
docker images
接下来就是部署了,直接执行下面代码:
docker run -d --name ward -p 4000:4000 --restart=always --privileged=true# -d 后台运行# --restart=always 跟随宿主机启动# --privileged=true 宿主机设备的完全访问权限# --name 容器名称# -p 端口映射记住你这里的端口,之后要用到。
然后我们就可以打开了,地址:http://ip:4000(或者是你刚才的端口)。
第一次运行需要设置,在这个 main setting 这里填写标题名称,就是显示在浏览器地址栏的标题名称。在 additon setting 中可以选择亮色模式或者暗色模式,在底下的框输入刚才部署的端口号,默认 4000.

最后我们点击 launch 就可以了,成功如图:

进阶设置
接下来我们还可以进行一下进阶设置,即修改配置信息,反向代理域名,配置 SSL。
修改配置信息
我们刚才第一次进入的那个设置写错了,或者是想换个模式、换个标题什么的,我们需要修改配置信息。我们只需要进入容器内部,修改 setup.ini 文件即可。执行下面代码:
docker exec -it ward /bin/sh # 进入容器nano setup.ini # 修改配置当然如果你觉得麻烦,也可以 remake:
docker stop warddocker rm -f warddocker run -d --name ward -p 4000:4000 --restart=always --privileged=true配置反向代理
我们一般也是通过域名访问的比较多,于是设置个反向代理即可用域名访问。这里使用的是 nginx 的反代,其他程序请询问搜索引擎。我们先安装 nginx(这里没有安装在 docker 里)。
如果是使用宝塔等一键安装的用户可以直接在面板中修改配置,跳过安装步骤
sudo apt updatesudo apt install nginx# CentOSyum -y install nginx修改默认配置,在 /etc/nginx/nginx.conf 里,为了防止太多太乱,我们自己建立一个新的配置文件,于是在 http {} 里加上:
include /etc/nginx/conf.d/*.conf;之后就可以在 conf.d 文件夹里自己建立新的配置文件了。来到 conf.d 文件夹,建立一个配置文件,例如 status.conf,内容填上:
server { listen 80; server_name yourdomain; # 填写你的域名
location / { proxy_pass http://localhost:4000/; # 修改你的端口 }}保存即可,然后重启 nginx:
systemctl restart nginx然后我们就可以通过 http://域名 来访问了。
配置 SSL
使用 http:// 来访问总会显示不安全,我们继续给它配置上 SSL。证书还是通过 acme.sh 来申请。
首先是安装 acme.sh:
# curl 安装curl https://get.acme.sh | sh -s email=my@example.com# wget 安装wget -O - https://get.acme.sh | sh -s email=my@example.com可以把 email 改成自己的。安装好以后开始申请证书:
如果你没有在上面先配置 nginx 反代,则不能使用这个模式,可以通过 DNS 等其他模式来申请!!!
acme.sh --issue --nginx -d example.com这里记得把 example.com 改为你的域名。注意这里的域名要和上面配置 nginx 的域名一致,并且域名已解析到服务器上。
接着等待证书申请完毕。成功大致这样(网络上的图):

记录下 cert 和 key 的地址,等会需要填写。
接着重新来到之前 nginx 配置 status.conf 文件里,改为:
server { listen 443 ssl; server_name yourdomain; # 你的域名
ssl_certificate /root/.acme.sh/yourdomain/yourdomain.cer; # 你的证书地址 ssl_certificate_key /root/.acme.sh/yourdomain/yourdomain.key; # 证书私钥
location / { proxy_pass http://localhost:4000/; # 你的端口 }}
# 下面配置 http 自动跳转 httpsserver { listen 80; server_name yourdomain; # 你的域名 return 301 https://$host$request_uri;}保存即可,然后重启 nginx:
systemctl restart nginx然后我们就可以通过 https://域名 来访问了。
后记
这个项目可以监控单台服务器,页面美观,而且占比比较小,非常适合监控小型服务器。下面是参考资料: