如今网站的信息量太大,以至于我们不能都能去访问查看是否有更新。包括我们在购物平台商品的价格,会通过活动、杀熟等策略和消费者斗智斗勇。于是,我们会通过一些检测工具来跟踪检测这些网站的更新情况,或者是检测到价格变更。有一些工具是需要付费的,在这篇文章中,我们可以利用开源的Changedetection工具来实现自己部署到服务器实现私有监控。
部署前的准备
在部署之前,选择一台云服务器,提前部署宝塔面板。这里老蒋选择一台有在用的云服务器且有安装宝塔面板的。准备创建一个域名,后面用反代的方式绑定到自己的域名中。
- 云服务器
- 云服务器部署宝塔面板
- 准备一个自己的域名或者二级域名解析到云服务器
部署Changedetection
1、创建数据存储目录(用于存放监控数据,非网站文件)
mkdir -p /opt/docker/changedetection
cd /opt/docker/changedetection
2、创建 docker-compose.yml 文件
cat > docker-compose.yml << EOF
version: '3'
services:
changedetection:
image: ghcr.io/dgtlmoon/changedetection.io
container_name: changedetection
restart: unless-stopped
ports:
- "127.0.0.1:5000:5000" # 仅本地访问,端口5000
volumes:
- ./data:/datastore # 数据持久化
EOF
3、启动服务
docker-compose up -d
以上三个步骤用SSH连接云服务器执行。

绑定域名反代设置
我们自定义绑定自己的域名。在宝塔面板添加域名创建后,然后在反代设置。
- 代理名称:自定义(如 changedetection)
- 目标URL:http://127.0.0.1:5000(必须与 Docker 映射端口一致)
- 发送域名:保持默认 $http_host即可
- 代理目录:留空(表示整个域名都代理到 changedetection)

设置之后,我们再去打开绑定的域名。

这样,我们就可以创建监控任务且可以设置推送提醒。如果有更新或者价格变化,就可以得到提醒。这样一个免费的监控动态工具就部署完成。
原创文章,作者:老蒋,如若转载,请注明出处:https://www.lezaiyun.com/changedetection.html