本内容是在mac电脑上搭建Nacos集群, 条件有限, 在本机用不同端口方式启动三台Nacos, 用nginx代理这三台Nacos
准备工作
nacos下载地址: https://github.com/alibaba/nacos/releases
nginx下载地址: http://nginx.org/en/download.html
解压安装, 自行解决
Nacos
-
解压ancos后, 找一个数据库执行执行conf文件中的mysql脚本 将内置derby改为mysql.
-
修改conf/application.properties
在最后面添加配置
# mysql支持 spring.datasource.platform=mysql db.num=1 db.url.0=jdbc:mysql://127.0.0.1:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true db.user=root
集群配置
一. 在Nacos的conf中添加cluster.conf文件, 添加如下配置, 这边本地启动三台nacos, 不同端口号
本机部署三台切记不要用127.0.0.1, 因为第一遍的时候用的是127.0.0.1. (懂的都懂) T.T
否则启动完之后在控制台看不到集群信息
192.168.0.24:8848
192.168.0.24:8849
192.168.0.24:8850
二. 编辑bin目录下的startup.sh, 使得支持指定端口启动
参数添加 p:
while getopts ":m:f:s:p:" opt
do
case $opt in
m)
MODE=$OPTARG;;
f)
FUNCTION_MODE=$OPTARG;;
s)
SERVER=$OPTARG;;
p)
PORT=$OPTARG;;
?)
echo "Unknown parameter"
exit 1;;
esac
done
启动命令加上 -Dserver.port=${PORT}
nohup $JAVA -Dserver.port=${PORT} ${JAVA_OPT} nacos.nacos >> ${BASE_DIR}/logs/start.out 2>&1 &
修改shutdown.sh是的可以根据端口停止
PORT=$1
if [ ! $PORT ]; then
echo "please select stop port!" >&2
exit 1
fi
pid=`ps ax | grep -i 'nacos.nacos' |grep java |grep ${PORT} | grep -v grep | awk '{print $1}'`
进入nacos bin目录, 分别启动三个nacos
./startup.sh -p 8848
./startup.sh -p 8849
./startup.sh -p 8850
Nginx
安装配置略过.
-
修改nginx.conf
添加upstream cluster
端口改成喜欢的端口
upstream cluster{ server 127.0.0.1:8848 server 127.0.0.1:8849 server 127.0.0.1:8850 }
修改location /
location / { #root html; #index index.html index.htm; proxy_pass http://cluster; }
-
启动nginx, 访问http://localhost/nacos出现nacos登录页面即成功
代码配置文件
server:
port: 9080
spring:
application:
name: demo-nacos
cloud:
nacos:
discovery:
server-addr: 192.168.0.24:8851
项目启动
查看控制台