Nacos集群化部署Linux版

本文详细介绍了如何搭建Nacos集群,包括JDK、MySQL、Nacos服务器的安装,配置外置数据源,修改端口号,设置集群配置文件,启动Nacos服务,以及通过nginx进行反向代理。同时,文章还提供了防火墙端口开放的指导,确保服务的正常访问。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Nacos集群搭建准备

  1. jdk1.8+安装
  2. nginx作为负载均衡
  3. MySQL
  4. 至少三台机器

nacos官网 https://nacos.io/zh-cn/index.html

nacos下载 https://github.com/alibaba/nacos/releases/tag/1.4.2

集群部署架构图

在这里插入图片描述

搭建nacos集群

安装nacos

cd /opt

将nacos压缩包移至该目录下(直接拖或者xftp传输)

tar -zxvf  nacos‐server‐1.4.1.tar.gz -C /usr/local/

cd /usr/local/nacos

创建mysql数据库,sql文件位置:conf\nacos­mysql.sql

修改conf\application.properties的配置,使用外置数据源 要使用mysql

  #此处修改端口号
  server.port=8848
  #使用外置mysql数据源
  spring.datasource.platform=mysql
 
  ### Count of DB:
  db.num=1
 
  ### Connect URL of DB:
  db.url.0=jdbc:mysql://127.0.0.1:3306/nacos?      characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconn
ect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
  db.user.0=root
  db.password.0=root
 

注:url写MySQL所在服务器ip 数据库根据实际情况命名 user:数据库账号 password:数据库密码

将conf\cluster.conf.example改为cluster.conf,添加节点配置

cp cluster.conf.example cluster.conf
vim cluster.conf

例如

 # ip:port
 192.168.65.220:8848
 192.168.65.220:8848
 192.168.65.220:8848

注:填写配置机器IP和端口号每个人都不一样 默认端口号为8848

如果出现内存不足:修改启动脚本(bin\startup.sh)的jvm参数

 JAVA_OPT="${JAVA_OPT} ‐server ‐Xms512m ‐Xmx512m ‐Xmn256 ‐XX:MetaspaceSize=64m ‐XX:MaxMetaspaceSize=128m"

(https://img-blog.csdnimg.cn/cd757dba891946c7abf411a30cf0642a.png)

启动

cd /bin
 ./startup.sh

单个机器启动完成 分别配置三个机器

测试

登录 http://192.168.3.14:8848/nacos 用户名和密码都是nacos

注:ip为当前机器ip

nginx反向代理

upstream nacoscluster {
    server 127.0.0.1:8849;  //为三台机器ip及端口号
    server 127.0.0.1:8850;
    server 127.0.0.1:8851;
 }
 server {
    listen 80;   //监听端口 可修改
    server_name localhost;
 
    location /nacos/{
        proxy_pass http://nacoscluster/nacos/;
    }
 }

注意事项

测试需要开放端口号

防火墙的命令:
查看防火墙状态 systemctl status firewalld
开启防火墙 systemctl start firewalld
关闭防火墙 systemctl stop firewalld
开启防火墙 service firewalld start
禁止开机启动防火墙 systemctl disable firewalld.service
先用:systemctl unmask firewalld.service
然后:systemctl start firewalld.service
二、查看你的服务的端口号是否对外开放。
命令:
1.查询已经对外开放的端口
netstat -anp
2.查询指定端口是否已经开放
firewall-cmd --query-port=8848/tcp

返回yes/no。此时也有可能返回firewalld is not running,此时需要打开防火墙在开放端口。
开放端口号命令:
添加指定需要开放的端口:
firewall-cmd --add-port=8848/tcp --permanent

重载入添加的端口:
firewall-cmd --reload

查询指定端口是否开启成功:
firewall-cmd --query-port=8848/tcp

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

海边的宇航员

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值