解决微服务注册 Nacos 中使用本地 IP (阿里云部署)
- 编写启动脚本
startup.sh
- 先声明标示符,获取阿里云公网 IP 的请求地址
declare GET_URL=httpbin.org/ip
- 发起请求,将响应内容输入到文件中
curl -i -X GET $GET_URL > response.txt
- 读取响应文件并截取指定部分中的 IP,进行输出查验
origin=$(cat ./response.txt | sed 's/,/\n/g' | grep "origin" | sed 's/:/\n/g' | sed '1d' | sed 's/}//g'| sed 's/"//g')
echo "origin: $origin"
- 拼接启动命令参数
discovery_ip="--spring.cloud.nacos.discovery.ip=$origin"
- 去除 discovery_ip 变量中的空格,并输出校验
ip="${discovery_ip// /}"
echo "ip:$ip"
- 拼接启动命令
nohup java -jar -Djava.security.egd=file:/dev/../dev/urandom $app_name.jar --spring.profiles.active=test $ip > system.log 2&> error.log &