Nacos 2.X集群版安装

前置

准备3台服务器:nacos-server1、nacos-server2、nacos-server3

3台服务器安装好jdk,配置好JAVA_HOME

1. 下载

下载 nacos-server-2.0.3.tar.gz

方式一:官网 Releases · alibaba/nacos · GitHub

方式二:百度网盘下载

链接:百度网盘 请输入提取码

提取码:p772

2. 上传到服务器

上传到第一台服务器 nacos-server1 /opt目录下

3. 解压

nacos-server1执行

解压到/opt目录下

tar -zxvf nacos-server-2.0.3.tar.gz -C /opt

4. 配置数据库

4.1准备好mysql数据库

4.2创建一个新的数据库

创建新数据库nacos

4.3执行nacos建库脚本

在nacos安装目录conf文件夹下找到nacos-mysql.sql,在mysql数据库nacos执行

5. 修改nacos配置文件

在nacos-server1执行

在nacos安装目录conf下找到application.properties文件,编辑,找到如下内容

修改为实际的数据库信息后如下

注意:如果mysql不是安装在本地,mysql用户必须设置允许外部访问

在nacos安装目录conf下找到cluster.conf.example文件,将其重命名为cluster.conf,修改cluster.conf文件,将其中的默认的ip信息删除,将nacos集群中每一台nacos实例的ip添加进去。

nacos-server1ip:8848
nacos-server2ip:8848
nacos-server3ip:8848

6. 复制

nacos-server1执行

将nacos安装目录拷贝到另外两台服务器

scp -r /opt/nacos root@nacos-server2:/opt/
scp -r /opt/nacos root@nacos-server3:/opt/

7. 关闭防火墙

nacos-server1、nacos-server2、nacos-server3执行

# 集群通信端口 7848 
firewall-cmd --add-port=7848/tcp --permanent

# 8848 主端口,客户端、OpenAPI所使用的HTTP端口
firewall-cmd --add-port=8848/tcp --permanent

# 9848 客户端gRPC请求服务端口,用户客户端向服务端发起连接和请求
firewall-cmd --add-port=9848/tcp --permanent

# 9849 服务端gRPC端口,用于服务间同步等
firewall-cmd --add-port=9849/tcp --permanent
# 重新加载防火墙 
firewall-cmd --reload;
#查看防火墙开发的端口
firewall-cmd --list-ports

8. 启动

nacos-server1、nacos-server2、nacos-server3执行

注意:需要先安装jdk并配置JAVA_HOME环境变量才可以启动nacos

cd /opt/nacos;
./bin/startup.sh

如上图所示,启动日志在/opt/nacos/logs/start.out文件中

9. 访问

浏览器访问下面任意一个地址都可以:

http://nacos-server1ip:8848/nacos

http://nacos-server2ip:8848/nacos

http://nacos-server3ip:8848/nacos

账号:nacos/nacos

10. 配置自启动

参考:linux设置Nacos自启动-CSDN博客

11. 配置nginx负载均衡

注意:nginx需要包含stream模块,rpm安装的默认已包含,源码安装的需要指定

在nginx.conf文件http模块增加如下内容

upstream nacos_upstream {
		server nacos-server1ip:8848;
		server nacos-server2ip:8848;
		server nacos-server3ip:8848;
}
server {
        listen       18848;  
        server_name  localhost; 
        location / {
        proxy_set_header   X-Real-IP $remote_addr;
        proxy_set_header   Host      $http_host;
        proxy_pass	http://nacos_upstream;
			proxy_read_timeout 7200s;
			proxy_set_header Upgrade $http_upgrade;
			proxy_set_header Connection "upgrade";
        }
}
stream {
	upstream nacos_grpc1_stream{
		server nacos-server1:9848;
		server nacos-server2:9848;
		server nacos-server3:9848;
	}
	
	server {
	   listen 19848 so_keepalive=on;
       tcp_nodelay on;  
       proxy_pass nacos_grpc1_stream;
   }
}

端口号说明

18848 主端口

主端口,客户端、OpenAPI所使用的HTTP端口

这里使用18848端口来代理的8848端口,如果nginx和nacos没在同一台服务器上 ,依然可以使用8848端口

19848

客户端gRPC请求服务端端口,用于客户端向服务端发起连接和请求,主端口+1000

这里使用19848端口来代理的9848端口,如果nginx和nacos没在同一台服务器上 ,依然可以使用9848端口

防火墙配置

nginx所在服务器执行

# 主端口,客户端、OpenAPI所使用的HTTP端口
firewall-cmd --add-port=18848/tcp --permanent

# 9848 客户端gRPC请求服务端口,用户客户端向服务端发起连接和请求
firewall-cmd --add-port=19848/tcp --permanent

# 重新加载防火墙 
firewall-cmd --reload;

微服务配置

注意:微服务bootstrap配置文件中的server-addr要根据nginx服务器ip和配置文件中的端口号来配置

比如nginx ip为192.168.110.192 nacos代理端口为 18848,则示例配置为

spring:
  application:
    name: sky-product
  cloud:
    nacos:
      discovery:
        # 服务注册地址
        server-addr: 192.168.110.192:18848
      config:
        # 配置中心地址
        server-addr: ${spring.cloud.nacos.discovery.server-addr}

  • 38
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值