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
One comment
您好,这个可以安装在centos8使用吗,之前听朋友说在centos8里无法使用,只能centos7