如果家里有闲置的电脑把他安装成linux服务器,而且在互联网通过域名可以实时进行访问。
下面说说我的解决方法:
1、花几十块钱购买一个域名
2、域名配置
3、在我的服务器上部署一个定时任务服务,实时监听出口ip,修改域名对应的记录值
4、搭建web服务,实现域名+端口进行访问
因为我的域名都是从腾讯云上买的,下面的实现方法都是依赖于腾讯云环境。
花几十块钱购买一个域名
登录认证腾讯云
https://cloud.tencent.com/
从腾讯云上购买一个域名:
https://buy.cloud.tencent.com/domain/buy?domain=&tlds=.com&from=dnspodEntrance
去年我买这个域名的时候花了4块钱,今年续费需要30了
域名认证
在我的域名列表能查看到我的域名,然后设置域名解析
修记录值为我的出口ip
登录你家的路由器,能看到出口ip,我这里用的是电信宽带,不同路由器查看的地方不一样
做到上面步骤已经能从互联网访问该域名指向到你家的出口ip了。
在我的服务器上部署一个定时任务服务,实时监听出口ip,修改域名对应的记录值
我自己写了一个定时任务的方法,每分钟刷新一次我家的出口ip是否发生改变,如果改变修改腾讯云上对应的ip,也就是域名解析的记录值。
参考腾讯云给的接口文档地址:https://docs.dnspod.cn/api/modify-records/
1)下载下面的链家目录文件,拷贝到服务器上
链接: https://pan.baidu.com/s/1y9rcklqoczf74K1YKsoIhQ 提取码: bftf 复制这段内容后打开百度网盘手机App,操作更方便哦
2)修改config/application.yml文件里的配置
loginToken: xxxxxxxx #用于鉴权的 API Token
domain: xxxxx #分别对应域名ID和域名
subDomain: www #主机记录
recordId: xxxx #记录ID
3)执行下面命令(注意下面的命令后面有个点不能少)
docker build -t image/backend-ddns:1.0.1 -f Dockerfile .
生成镜像: image/backend-ddns:1.0.1
4)修改权限
chcon -Rt svirt_sandbox_file_t /home/docker/ddns/config
5)启动容器
docker run -d --name backend-ddns --restart always -m 150m -v /home/docker/ddns/config:/config image/backend-ddns:1.0.1
5)查看日志启动情况