前言
最近一直很烦恼一件事,就是电信的ADSL会不定期换IP,由于Blog不想部署在腾讯云上,同时也考虑到Blog放在自己的服务器上更容易维护和备份等操作,毕竟不是商业用户,用的是轻量云,也可能会面临数据丢失,所以放在自己的的本地服务器上是最保险的。
产生的问题
放在本地的服务器上,就要面对一个问题,就是端口映射的问题,由于电信现在将80、443端口封闭,所以我只能考虑映射为其他端口,例如4443端口,云端的Nginx然后监听你的4443端口,由于做了动态域名(DDNS),云端的Nginx在我本地服务器换IP之际,就会监听失败,且Nginx没那么智能,不会检测域名边的话会自动重启服务,监听新域名的端口
图示
解决方案
思路
在云端写shell脚本,在设定每隔几分钟检查一次端口是否OK,通过shell的结果差异对比来判断是否需要重启Nginx服务
检测端口的脚本部分
关联到判断比对的脚本并判断是否重启Nginx脚本
check结果的输出文件
说明:有两种结果,如果telnet不通输出failed 通泽输出ok
脚本原理
脚本会根据输出结果进行比对,如果两次结果相同,则不做重启nginx,如果两次结果不一致,如:ok failed或者failed ok则重启nginx,直到结果一致为止。
原创文章,作者:admin,如若转载,请注明出处:https://www.starz.top/2020/12/05/%e7%94%a8shell%e8%a7%a3%e5%86%b3blog%e7%9a%84%e8%85%be%e8%ae%af%e4%ba%91%e5%8f%8d%e5%90%91%e4%bb%a3%e7%90%86%e9%97%ae%e9%a2%98/