1. 前言
自己申请了电信的公网ip,但是在重新拨号或者其他情况下ip会不定期改变。这样导致部署的java或者vue项目需要不定期修改ip,而申请一个固定ip的费用比较大。
于是就想到了通过域名+端口号的方式去访问java/vue项目,再通过java程序去定时更新域名解析的记录值。
2. 定时更新域名解析的记录值
阿里云官方提供了dns云解析API:https://next.api.aliyun.com/api/Alidns/2015-01-09/UpdateDomainRecord?params={}
这里用的是阿里云的域名,使用了阿里云的AccessKey
2.1 application.yml配置文件
参数说明:
**① pub-network-address: https://ifconfig.co/ip ** // 可直接获取当前网络的公网ip
**② access-key-id和access-key-secret:**阿里云个人中心的AccessKey,可通过访问https://usercenter.console.aliyun.com/?spm=api-workbench.API%20Explorer.0.0.6e491e0fFtDFOK#/manage/ak 获取
**③ domain-name:**阿里云购买的域名
**④ second-domain-name-RR:**域名解析的主机记录,由于我这边域名解析的记录值包含其他服务器的ip,所以这里用于需要更新到动态ip服务器的主机记录
2.2 定时任务
2.3 工具类AliDns
2.4 pom.xml
2.5 部署到实体服务器上
① 将项目打成jar包
② 将jdk安装目录下的/jdk/bin或者/jre/bin下的javaw.exe文件复制到jar包同级目录下,并重命名为jar包名称,如:ddns.exe
③ 在jar包同级目录下创建start.bat文件,输入以下内容:
@echo off
start ddns –jar ruoyi.jar
exit
④ 双击start.bat文件运行
⑤ 停止服务
打开任务管理器,停止ddns.exe服务即可
2.6 测试
将一级域名的添加解析,记录值随便填,过1秒钟会更新为动态公网ip
3. 部署vue项目
使用nginx部署vue项目
① vue项目打包
② 配置nginx
③ 添加端口映射
登录192.168.3.1
④ 访问
输入 二级域名:端口 即可