Server Status是一款比较热门常见的服务器监控源码,部署便捷、前端代码轻巧易修改,也出现过许多大神制作的魔改版,这里我就分享一下自己目前在用的后端、前端以及如何实现Windows平台的客户端部署。

服务端的选择

对于服务端的选择,目前常见的无非就是原版、Toyo版以及cppla版了。
https://github.com/BotoX/ServerStatus
https://github.com/ToyoDAdoubi/ServerStatus-Toyo
https://github.com/cppla/ServerStatus
BotoX为原版。
Toyo版在前者的基础上进行了一些优化改进,简化了部署方式,是比较常见的后端版本。
cppla版添加了更多的功能,比如被墙检测、三网延迟等,不过我选择的前端并没有显示这些。
如果你没有IPv6的机子,那么使用Toyo的即可。

IPv6专版

由于上面几个版本对于IPv6的支持都不尽完善,因此如果你手上有IPv6的机子,那么建议使用下面的服务端。
实测该服务端也可以兼容Toyo版客户端,因此我更推荐这一版。
https://github.com/Rhilip/ServerStatus

服务端快速部署

git clone https://github.com/Rhilip/ServerStatus.git
cd ServerStatus/server
make
./sergate

如果没错误提示,OK,ctrl+c关闭;如果有错误提示,检查35601端口是否被占用。
修改默认35601端口:

vim server/src/main.cpp

找到35601,修改为自己想要的端口,重新make即可。
按照实际需要,配置config.json,并且确认前端模板的目录位置,然后运行即可:

./sergate --config=config.json --web-dir=/home/wwwroot/default  

需要后台运行的话:

nohup ./sergate --config=config.json --web-dir=/home/wwwroot/default &

Linux客户端部署

vim client-linux.py

修改SERVER地址,username帐号, password密码
python client-linux.py运行即可。
需要后台运行的话:

nohup python client-linux.py &

Windows客户端部署

Windows版本实际上是调用了psutil这一程序,完成了系统的实时状态采集。
在部署Windows版本时,使用Python 3无法正常运行后端,碍于自己能力有限,只能作罢钻研,转而使用了Python 2.7.16
https://www.python.org/downloads/release/python-2716/
安装完成Python后,我们安装psutil,但在部署psutil时再次遇到了问题,明明安装Python时安装了pip,但是却无法正常使用,最后在找到了答案,https://www.zhihu.com/question/56927648

python -m ensurepip
pip install psutil

修改client-psutil.py中的SERVER地址,username帐号, password密码
python client-psutil.py运行即可


前端的选择

以上后端自带的前端其实已经非常简洁实用,但是似乎有些与目前流行的网页风格稍有脱节。
于是各种大神的魔改版本应运而生,我个人比较欣赏的是Hostloc上两位大神分享的版本。
https://www.hostloc.com/thread-493783-1-2.html
https://www.hostloc.com/thread-537588-1-1.html
各位如果有需要,可以各自下载后自行研究使用。
我目前自用的前端,结合了两位大神的版本,演示:https://up.yk.ci
如果需要修改或增加国旗,只需要将国旗的图片文件,命名为服务端中设置的节点的Location的名字即可。
我这个版本根据自己需要改了比较多,各位可以随意取用,覆盖原有web文件夹即可:
https://dl.yorkchou.com/web/ServerStatus-web.zip

Last modification:December 18, 2019
If you think my article is useful to you, please feel free to appreciate