解决一个比较奇妙的问题 - leancloud 阅读计数不显示

最近发现博客上那个阅读次数的功能有点问题,因为是基于leancloud的功能,然后前几天打开了下 leancloud.app 这个网站,发现打不开了,以为是不提供服务了,因为当时刚好没精力就没仔细去研究,后面点开具体一篇文章,提示说Counter未初始化,本身这个功能是基于 leancloud 实现的计数器,需要在博客构建的时候初始化本次新增文章的一个类似于键值对的计数对。
第一步思考的错误是网站搞错了,leancloud 的官网地址是 leancloud.cn,leancloud 的正确官网是可以打开的。
那么第二步的思考是可能换了接口或者调用方式,因为打开以后要求验证手机号码,以为是也加强了审核,需要通过手机绑定后才能继续访问,
第二步这个手机验证完成后,发现还是不能够正常使用,开始注意具体的提示信息,是否真的就只是counter没初始化
因为我的博客是会同步推送到自己的另一个 gitea 服务,最近应该是入口 traefik 的状态有点异常,导致无法同步到gitea服务,但是不影响正常推送到github的page服务
第三步的问题随着这个思考就想到了,因为hexo在部署推送的时候是逐个串行地往目标部署点推送的,比如我有github跟gitea,还有个其他的部署点,那么假如前面gitea的出现了问题,后续的就没法往下推送了,正巧 leancloud 的这个计数服务是通过部署点实现的,在部署日志中会有

1
INFO  Deploying: leancloud_counter_security_sync

那么问题就差不多解决了,只是 traefik 这个问题还要看下,尝试把 traefik 的 docker-compose 启动起来,发现 80 端口被占了,
这时候就又是一个经典问题了,首先是找到哪个进程占用了这个端口

1
lsof -i:80

通过这个命令也可以,当然也可以通过 netstat,只是我一直记不住,用的不太多
发现是这个 apache2,就是重启ubuntu后默认启动的 apache 的 http 服务器,
只是这里需要注意下,它的服务名是 apache2 ,而不是httpd
所以可以通过

1
systemctl stop httpd

来关闭,同时可以用

1
systemctl disable httpd

直接把这个自启动的给干掉,省得每次重启都有这个问题,这一连串的排查还是比较有意思的