在 debian/ubuntu 上安装 Smokeping 时, apt 只会给一个用于 apache2 的配置. 并不能直接用于其他的 Web 服务器, 但迫于VPS上的用的 Web 服务器是 Caddy 因此就参考网上的资料整理出了给 Caddy 用的配置方法.
首先需要安装 Smokeping ,并且 disable 掉安装时自带的 Apache2.
apt install smokeping
systemctl stop apache2
systemctl disable apache2
还需要装一个fcgiwarp来处理到smokeping的请求,并且装完之后将它启动:
apt install fcgiwrap
systemctl enable fcgiwrap.socket
systemctl start fcgiwrap.socket
这时候应该能在 /var/run
里面看到 fcgiwrap.socket
这个文件了.
Caddy不需要其他的插件就可以使用.
之后查看一下smokeping的网页和cgi程序装在了哪里. 在这里它位于 /usr/share/smokeping
里面;图片缓存,js,css在 /usr/share/smokeping/www
里面.
下面是 Caddy 的配置:
smokeping.example.com {
root /usr/share/smokeping/www
fastcgi / unix:/var/run/fcgiwrap.socket {
env SCRIPT_FILENAME /usr/share/smokeping/smokeping.cgi
}
}
smokeping.example.com/js {
root /usr/share/smokeping/www/js
}
smokeping.example.com/css {
root /usr/share/smokeping/www/css
}
smokeping.example.com/cache {
root /var/cache/smokeping
}
smokeping.example.com/smokeping/images {
root /usr/share/smokeping/www/images
}
需要注意的是, fastcgi 下面对应的文件是 smokeping.cgi
而不是 www
里面的 smokeping.fcgi.dist
, 以及图片也需要单独列一个路径,不然到时候可能无法显示监测的图片.
配置完成 Smokeping 和 Caddy 之后, 可以先用 smokeping --debug
来测试一下smokeping能不能正常运行,如果能正常运行,此时访问 smokeping.example.com
应该就能正常进行网络监测了.
参考资料
- Caddy Community 上的讨论
- Archlinux Wiki
- 在网上找到的另一份 Caddy 配置,不过这是给 Arch 的,跟 Debian 系的安装路径什么的还不完全一样.