【實(shí)用的開源項(xiàng)目】使用服務(wù)器部署changedetection.io,一個(gè)網(wǎng)站更改監(jiān)控開源工具
1. 前言
今天給大家介紹一下?changedetection.io
?這一款網(wǎng)站變更監(jiān)控和通知工具,它的功能非常強(qiáng)大,支持用?Chrome瀏覽器?來提取網(wǎng)頁內(nèi)容,這樣就可以抓取到一些用?js
?填充內(nèi)容的網(wǎng)頁,更好地支持更多的網(wǎng)站。
1.1 官方網(wǎng)站
官方Github:?https://github.com/dgtlmoon/changedetection.io
2. changedetection.io 簡(jiǎn)介
Web Site Change Detection, Monitoring and Notification.
Live your data-life pro-actively, Detect website changes and perform meaningful actions, trigger notifications via Discord, Email, Slack, Telegram, API calls and many more.
網(wǎng)站更改檢測(cè)、監(jiān)控和通知。
主動(dòng)體驗(yàn)?zāi)臄?shù)據(jù)生活,檢測(cè)網(wǎng)站更改并執(zhí)行有意義的操作,通過 Discord、電子郵件、Slack、電報(bào)、API 調(diào)用等觸發(fā)通知。
3. 準(zhǔn)備工作
【必需】一臺(tái)服務(wù)器(推薦?騰訊云輕量應(yīng)用服務(wù)器?
HK
?或境內(nèi),其他服務(wù)器(如?CloudCone?、?RackNerd?、家里云或者各家企業(yè)的私有云亦可【建議】操作系統(tǒng):?
Debian 10
【建議且必需】域名一枚,并解析到服務(wù)器上
【必需反向代理本教程選用NPM】安裝好Nginx Proxy Manager(?相關(guān)教程?)
注意
本文軟件基于騰訊云輕量應(yīng)用服務(wù)器安裝,無建議配置,教程使用的騰訊云輕量應(yīng)用服務(wù)器系統(tǒng)為?Debian 10.2
?!理論上騰訊云輕量應(yīng)用服務(wù)器為?Debian 10.2
?的服務(wù)器操作應(yīng)與本文基本一致(包括過程與報(bào)錯(cuò)),其他系統(tǒng)為?Debian 10
?的服務(wù)器應(yīng)與本文大同小異!
騰訊云輕量應(yīng)用服務(wù)器購(gòu)買地址:?https://curl.qcloud.com/XqKjWCYA
騰訊云新年·上云精選:?https://curl.qcloud.com/UEBvnJfH
騰訊云云產(chǎn)品特惠專區(qū):?https://url.cn/GhZUBLVG
4. 視頻教程
5. 界面演示
5.1 首頁

5.2 設(shè)置頁

5.3 導(dǎo)入頁

6. 部署 changedetection.io
6.1 環(huán)境準(zhǔn)備
6.1.1 更新 Packages 并安裝必要軟件包
執(zhí)行以下命令,更新 Packages 并安裝必要軟件包
apt -y update
apt -y install curl

6.1.2 安裝并啟動(dòng) Docker
6.1.2.1 境外服務(wù)器安裝 Docker
執(zhí)行以下命令,境外服務(wù)器安裝 Docker
curl -fsSL https://get.docker.com | bash -s docker
6.1.2.2 境內(nèi)服務(wù)器安裝 Docker
執(zhí)行以下命令,境內(nèi)服務(wù)器使用國(guó)內(nèi) daocloud 一鍵安裝命令安裝 Docker
curl -sSL https://get.daocloud.io/docker | sh
6.1.2.3 啟動(dòng) Docker
輸入并執(zhí)行以下命令,啟動(dòng)?Docker
systemctl start docker
再執(zhí)行以下命令,查看?Docker
?的運(yùn)行狀態(tài)
systemctl status docker
最后執(zhí)行以下命令,設(shè)置?Docker
?開機(jī)自啟動(dòng)
systemctl enable docker

由于我們通過以上一鍵腳本安裝的?Docker
?為最新版本,新版本的?Docker
?自帶?compose
?這個(gè)子命令,所以我們無需額外安裝?docker-compose
?。
使用方面僅有一個(gè)?-
?(dash)字符只差,新版使用?docker compose
?命令,而如果你是舊版本就使用?docker-compose
?命令。
6.1.3 安裝 Nginx Proxy Manager(必需反向代理本教程選用NPM)
安裝?Nginx Proxy Manager
?的詳細(xì)教程小俊之前也寫過哦,也配有詳細(xì)的視頻版本,需要學(xué)習(xí)的朋友可以點(diǎn)擊這篇文章學(xué)習(xí)??????鏈接:【教程】使用騰訊云輕量應(yīng)用服務(wù)器搭建Nginx Proxy Manager,優(yōu)美簡(jiǎn)單地解決反向代理!https://www.smalljun.com/archives/3113.html?,當(dāng)然想要使用反向代理的小伙伴要是熟悉?Nginx
?,也可以自己安裝?Nginx
?進(jìn)行反向代理哦!你想用寶塔面板的話,也是沒有問題噠!
6.2 部署 changedetection.io
6.2.1 新建目錄
執(zhí)行以下命令,新建目錄
mkdir -p /opt/docker/changedetection.io && cd /opt/docker/changedetection.io
6.2.2 新建docker-compose.yaml文件
執(zhí)行以下命令,新建?docker-compose.yaml
?文件
nano docker-compose.yaml
然后輸入以下配置內(nèi)容,然后?Ctrl X + y +回車
?退出并保存即可。
具體文件內(nèi)容請(qǐng)到博客復(fù)制
專欄顯示效果不好 所以就不放出來了?https://www.smalljun.com/archives/3366.html
如下圖所示

注意:
docker-compose.yaml
?文件中?2077
?為暴露端口,如被占用,請(qǐng)自行更改替換,需要在云服務(wù)器的控制臺(tái)防火墻開放相應(yīng)端口!docker-compose.yaml
?文件中的?BASE_URL
?修改成你的域名!若沒有修改
docker-compose.yaml
?文件中?browserless/chrome
?容器的服務(wù)名和主機(jī)名,?PLAYWRIGHT_DRIVER_URL
?后面的值保持默認(rèn)即可
6.2.3 啟動(dòng)容器
輸入執(zhí)行以下命令后臺(tái)啟動(dòng)容器
docker compose up -d
啟動(dòng)完后再輸入執(zhí)行以下命令確認(rèn)所有容器都是?running
?或?up
?狀態(tài)
docker compose ps
如下圖所示

6.3 配置反向代理
先把域名解析到服務(wù)器(如果有小白不會(huì)解析可以進(jìn)入?小俊博客的QQ群:199175766?詢問,群主就是小俊,一般周末在線,后面考慮寫一篇域名解析教程!進(jìn)入?Nginx Proxy Manager
?,點(diǎn)擊?Hosts
?,然后點(diǎn)擊?Add Proxy Host
,按下圖進(jìn)行配置,下圖中的?172.17.0.1
?可能有所不一,請(qǐng)執(zhí)行?ip addr
?自行查找?docker0
?網(wǎng)卡的內(nèi)網(wǎng)IP!
Domain Names:填寫你想用在該程序的域名
Scheme:默認(rèn)http #一般不用改Forward Hostname / IP:172.17.0.1 #一般為 `172.17.0.1` ,可能有所不一,請(qǐng)執(zhí)行 `ip addr` 自行查找 `docker0` 網(wǎng)卡的內(nèi)網(wǎng)IP!Forward Port:2077 #暴露端口(若跟著本文未修改 `yaml` 文件中的暴露端口。應(yīng)為 `2077` )
如下圖所示

先不要著急著點(diǎn)?Save
?,不過如果你點(diǎn)了也沒關(guān)系,沒點(diǎn)?Save
?的朋友點(diǎn)擊?SSL
?,然后點(diǎn)擊?Request a new SSL Certificate
?,然后把?Force SSL
?和?HTTP/2 Support
?打開,修改一下?Email Address for Let's Encrypt
?的郵箱,然后?Save
?即可;點(diǎn)擊了?Save
?的朋友,點(diǎn)擊右邊的三點(diǎn),點(diǎn)擊?Edit
?,重復(fù)上述步驟即可!
至此,我們已經(jīng)安裝完成?changedetection.io
?這個(gè)網(wǎng)站更改檢測(cè)、監(jiān)控和通知的開源工具啦!大家記得去?DNS
?提供商解析域名哦!
瀏覽器訪問您剛剛設(shè)置的域名即可訪問!
Ps:需要在騰訊云輕量應(yīng)用服務(wù)器的后臺(tái)防火墻開放相應(yīng)端口!默認(rèn)需要開放?80 tcp
?、?443 tcp
?與?81 tcp
?哦。
7. 簡(jiǎn)單使用教程
7.1 設(shè)置密碼驗(yàn)證
瀏覽器訪問這個(gè)程序,是沒有任何鑒權(quán)的,如何設(shè)置密碼驗(yàn)證?點(diǎn)擊?SETTINGS
?,?General
?中的?Password
?,將你想設(shè)置的秘密輸入進(jìn)去,然后?Save
?即可!

7.2 修改網(wǎng)頁抓取方式
點(diǎn)擊?SETTINGS
?,?Fetching
?中的?Fetch Method
?,將其改為?Playwright Chromium/Javascript via 'ws://playwright-chrome:3000/'
?,然后?Save
?即可!
8. 目前遇到的問題
8.1 境內(nèi)服務(wù)器難以安裝 Docker
建議直接執(zhí)行以下命令,安裝?Docker
apt install docker.io
然后,參考小俊之前寫過的??????【教程】CentOS系統(tǒng)Docker的詳細(xì)安裝教程https://www.smalljun.com/archives/3174.html?,安裝?Docker-compose
?,然后再進(jìn)行?第6.2步及其后續(xù)操作
9. Ending
有問題可以去?GitHub?提?Issues
,也可以在評(píng)論區(qū)互相交流探討哦!