Nginx + Nacos持久化 + 集群搭建

 一、配置Nginx代理(本文不做Nginx搭建过程)

stream {
      upstream nacos {
        server 127.0.0.1:8848; #nacos集群地址
        server 127.0.0.1:8868;
        server 127.0.0.1:8888;
      }


     server {
        listen  81; #访问的端口 由81端口转发到 8848、8868、8888
        proxy_pass nacos;
     }
}

注意:这个Nginx配置文件中使用的是TCP协议并没有使用HTTP协议 因为在Nacos 2.0版本以上更新的时候 增加了GRPC调用方式 而GRPC中采用的就是TCP形式

二、创建Nacos数据库

Nacos目录中的conf文件夹中 包含一个MySQL数据库的SQL脚本 由于 Nacos默认采用的是Derby数据库 所以为了让Nacos中的数据保存到我们本地中而开发人员通常使用的都是MySQL数据库 所以Nacos准备了一个MySQL数据库的脚本 用于开发人员在本地存储Nacos数据 

将SQL脚本运行到SQL可视化工具中以后 在application.properties配置文件中进行修改数据库配置

#指定MySQL数据库
spring.datasource.platform=mysql

### 数据库个数
db.num=1

### 数据库地址
db.url.0=jdbc:mysql://127.0.0.1:3306/nacos_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
#填写本地数据库连接的用户名密码
db.user.0=root
db.password.0=root

### 数据库连接池配置: hikariCP
db.pool.config.connectionTimeout=30000
db.pool.config.validationTimeout=10000
db.pool.config.maximumPoolSize=20
db.pool.config.minimumIdle=2

三、集群配置

修改cluster.conf

#
# Copyright 1999-2021 Alibaba Group Holding Ltd.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#      http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#

#it is ip
#example
#192.168.16.101:8847
#192.168.16.102
#192.168.16.103
#增加Nacos集群地址
127.0.0.1:8848
127.0.0.1:8868
127.0.0.1:8888

 四、更改Nacos启动方式 在Nacos的bin目录中 修改 启动文件 startup.sh

 五、更改启动方式

export MODE="cluster" #启动方式

六、修改SpringBoot配置文件

# nacos配置
server:
  port: 3377

spring:
  application:
    name: nacos-config-client
  cloud:
    nacos:
      discovery:
        #Nginx 路由端口
        server-addr: http://localhost:81
      config:
        server-addr: 127.0.0.1:8848
        file-extension: yaml

七、启动Nginx与SpringBoot并访问Nginx地址http://localhost:81/nacos

 备注:81端口正是Nginx的对外暴露的端口 然后再转发到Nacos集群内部

八、部分小伙伴Nacos可能启动不了的原因是因为SpringBoot项目中(Nacos客户端)的依赖版本默认是1.4.X 但是Nacos-Server(服务端)的Nacos版本是2.1.X 版本不一致问题 可以在声明依赖的同时过滤掉nacos-discovery依赖中的nacos-client并重新声明版本 代码示例

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>com.alibaba.cloud</groupId>
                <artifactId>spring-cloud-alibaba-dependencies</artifactId>
                <version>${spring-cloud-alibaba-version}</version>
                <type>pom</type>
                <scope>import</scope>
                <exclusions>
                    <exclusion>
                        <groupId>com.alibaba.nacos</groupId>
                        <artifactId>nacos-client</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>com.alibaba.nacos</groupId>
                <artifactId>nacos-client</artifactId>
                <version>${nacos.client.version}</version>
            </dependency>
        </dependencies>
    </dependencyManagement>

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值