1.单机启动
官方下载nacos,默认nacos是集群启动的,直接运行启动文件会报错的,需要在启动命令后加参数 -m standalone
例如:startup.cmd -m standalone 【wins】,startup.sh-m standalone 【linux】,当然这不是我们今天的主题
2.集群启动
由于我不想搭建虚拟机,就在本地通过3个端口模拟3台机器,端口分别是:8849,8851,9991,步骤:
2.1. copy3份解压后的nacos,修改各自的application.properties中的端口号,分别为:8849,8851,9991
server.port=8849
server.port=8851
server.port=9991
2.2. 各自的conf目录下放cluster.conf文件,文件内容为:
linux环境配置的话,这里的IP一定是hostname -i 查询出来的IP,不允许写127.0.0.1,因为集群分不清到底是哪个IP
10.253.104.70:8849
10.253.104.70:8851
10.253.104.70:9991
注:10.253.104.70是我本机的IP
2.3. 新建数据库,名称为nacos,到nacos的conf目录下找到nacos-mysql.sql文件执行
2.4. 修改各自的application.properties中的数据库配置
### Count of DB:
db.num=1
### Connect URL of DB:
db.url.0=jdbc:mysql://10.253.96.110:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
db.user.0=root
db.password.0=123456
2.5. 分别执行nacos启动脚本
startup.cmd【wins】,startup.sh【linux】,通过命令:ps -ef | grep nacos | grep -v grep | wc -l 查询到结果是3,代表3台机器都起来了
2.6.这样子,就可以随便访问这个三个端口中的任意一个了
注意:linux上,如果是同一台机器对应3个端口启动3个nacos服务并且nacos只有一份的话,需要修改启动脚本,通过-p指定端口启动,否则没法启动,修改startup.sh 3个地方:
nohup $JAVA -Dserver.port=${EMBEDDED_STORAGE} ${JAVA_OPT} nacos.nacos >> ${BASE_DIR}/logs/start.out 2>&1 &
while getopts ":m:f:s:c:p:" opt
p)
EMBEDDED_STORAGE=$OPTARG;;
修改后就可以通过【startup.sh -p 端口号】 启动了
访问
2.7. 使用nginx作负载均衡访问集群的nacos
2.7.1. 配置nginx.conf文件
upstream cluster{ #定义upstream名字,下面会引用
server 10.253.104.70:8849; #指定后端服务器地址
server 10.253.104.70:9991; #指定后端服务器地址
server 10.253.104.70:8851; #指定后端服务器地址
}
server {
listen 1111;
server_name localhost;
location / {
proxy_pass http://cluster; #引用upstream
}
}
2.7.2. 启动nginx
cd /usr/local/nginx/sbin
./nginx -c /usr/local/nginx/conf/nginx.conf
2.7.3. 通过访问nginx就可以实现nacos访问的负载均衡
http://10.253.104.70:1111/nacos/index.html