Linux上搭建Nacos集群 + nginx做负载均衡

搭建Nacos集群 + nginx做负载均衡

  1. 下载Nacos:访问Nacos的官方网站(https://nacos.io),在下载页面上选择适合您的操作系统和版本,下载Nacos的安装包。

  2. 解压安装包:将下载的安装包解压到指定的目录。

    tar -zxvf nacos-server-2.0.3.tar.gz
    
  3. 配置集群节点:进入解压后的Nacos目录,进入conf文件夹,并编辑cluster.conf文件。在该文件中,添加集群中每个节点的IP地址和端口号,每行一个节点。(新版本的nacos没有cluster.conf,你可以复制cluster.conf.example这个文件重命名)

    # 复制文件重命名
    cp cluster.conf.example cluster.conf
    
    # 编辑节点信息
    vim cluster.conf
    
    ##############编辑内容如下###############
    #it is ip
    #example  节点的ip + 端口
    192.163.45.44:8848
    192.163.45.45:8848
    192.163.45.46:8848
    
  4. 使用MySQL作为数据源新建数据库,修改数据源配置,在conf目录下有sql脚本nacos-mysql.sql,新建一个数据库执行就行

  5. 在conf/application.properties中添加配置

    spring.datasource.platform=mysql   
    db.num=1    
    db.url.0=jdbc:mysql://192.163.45.44:3306/nacos_config_llh?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC   
    db.user.0=root   
    db.password.0=root  
    
  6. 同理其他节点也做上述修改操作

  7. 启动nacos集群(分别启动nacos节点)

    ./startup.sh
    
  8. 添加nginx配置来转发请求,nginx配置参考

    1. 在nginx配置文件中添加以下内容(在http内部),内容如下

      upstream cluster{
              server 192.163.45.44:8848;
              server 192.163.45.45:8848;
              server 192.163.45.46:8848;
      }
      server {
          listen       7847;
          server_name  localhost;
              charset utf-8;
          location / {
               proxy_pass http://cluster/;
          }
              #access_log  /data/nginx/logs/nacos.log;
              #error_log  /data/nginx/logs/nacos.log;
      }
      
    2. 在nginx配置文件添加nacos的grpc协议配置,注意stream需要在http外面

      stream {
              upstream lb-nocos-tcp{
                      server 192.163.45.44:9848 weight=1;
                      server 192.163.45.45:9848 weight=1;
                      server 192.163.45.46:9848 weight=1;
              }
              server {
                      listen 8847;
                      proxy_pass lb-nocos-tcp;
              }
      }
      http{
      ...
      }
      
  9. 启动nginx

你可能感兴趣的:(#,SpringCloud,Alibaba,nginx)