很多第一次使用雷池社区版的朋友会碰到tengine相关的问题
其实官方文档都有记录怎么排除,这里都单独把tengine的排查方法再说一下
请检查防火墙规则, tengine 容器状态和日志
如果站点报错如上,说明tengine容器可能出现问题,需要自行排查一下原因 可能原因:站点配置错误、雷池机器本地环境有问题等原因 排查方法: 1.使用docker ps,查看tengine容器的状态,确认是否healthy
2.使用docker logs -f safeline-tengine 查看tengine容器日志。根据日志内的报错信息自行解决问题
查看tengine容器日志如果有类似报错:172 22.222.4:1443/ani/open/ 相关错误
检查容器网络问题,因为雷池容器网络使用SUBNET_PREFIX=172.22.222
检测是否有本地防火墙规则或者其他情况导致容器无法正常连接
查看tengine容器日志如果有类似报错:[emerg] invalid IPv6 address in resolver “(fe80::e207:c2ff: feed:6684%ens192]* in /etc/nginx/nginx.conf:132
尝试手动删掉报错中的/etc/resolv.conf里面的那个ipv6
查看tengine容器日志如果有类似报错:Address already in use
可能有端口冲突了,尝试修改报错的端口监听情况
# 大招。紧急恢复 tengine
问题表现:重启或升级后编辑任何站点配置都报错,后台 tengine 一直在重启。
可能原因是 tengine 配置在当前设备环境上不合法,导致 tengine 无法以原配置启动。 例如重启过程中网站端口被其他进程所占用、网站 dns 配置异常导致解析不到 IP 等。
解决方案:可以通过查看 tengine 容器的日志,排查问题,也可以使用安装目录下的 reset_tengine.sh
脚本重置 tengine 容器配置。
# 执行时间根据网站数量和配置情况而定, 请耐心等待
cd /data/safeline && bash reset_tengine.sh
执行成功后会有如下输出,此时可以尝试重新编辑/删除站点配置,观察是否正常。
[SafeLine] 是否重新生成 tengine 的所有配置 (Y/n)重新生成 tengine 配置完成
再次去点击站点并且保存一次就可以