文章目录

  • Nacos集群配置
  • 更改Nacos启动命令配置原理
  • 具体配置
  • Linux服务器上MySql数据库配置
  • Linux服务器上Nacos的集群配置cluter.conf
  • 编辑Nacos的启动脚本startup.sh
  • 具体修改
  • Nginx配置
  • 启动Nginx
  • 配置微服务为Linux版Nacos集群并注册进Nacos



Nacos集群配置

更改Nacos启动命令配置原理

我们现在知道,想要启动Naocs只需要启动startup.sh命令即可,但是如果要启动3个Nacos呢?

所以如果我们需要启动多个Nacos,就需要自行修改startup命令。

nacos 多个mysql nacos多数据库配置_数据库

具体配置

Linux服务器上MySql数据库配置

  1. 在Linux系统上执行SQL脚本,具体位置在nacos目录下的conf中,这里的操作和之前是一样的,我们可以直接打开这个文件然后拷贝到数据库中执行,当然也是要创建数据库使用数据库然后在复制脚本内容,执行即可
create database nacos_config;
	use nacos_config;
	source /opt/nacos/conf/nacos-mysql.sql

nacos 多个mysql nacos多数据库配置_nacos 多个mysql_02

nacos 多个mysql nacos多数据库配置_java_03

  1. 修改application.properties配置文件(修改之前我们最好做一个备份)。
cp application.properties application.properties.init
  1. 这里的修改和我们之间的在win上的修改是完全一样的,所以我们只要打开这个文件,加上对应的内容即可

nacos 多个mysql nacos多数据库配置_分布式_04

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&serverTimezone=UTC
db.user=root
db.password=123456

Linux服务器上Nacos的集群配置cluter.conf

  1. 这里开始正式配置集群,首先我们要更改cluter.conf这个配置文件,当然我们也需要备份,但是这里它的原始名称为:cluster.conf.example,我们需要把它保留同时复制出一个cluster.conf来进行更改
cp cluster.conf.example cluster.conf

nacos 多个mysql nacos多数据库配置_java_05

  1. 具体配置内容,这里我们在配置集群的时候不能直接写127.0.0.1这样,这样分不清楚,所以我们需要知道具体的IP地址,我们可以通过以下命令
ifconfig -a           #查看具体ip

nacos 多个mysql nacos多数据库配置_分布式_06

具体需修改内容:

#
# Copyright 1999-2018 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.79.128:8848
192.168.79.128:8868
192.168.79.128:8888

nacos 多个mysql nacos多数据库配置_数据库_07

启动nacos之前,需要进行关闭防火墙操作:

// 关闭防火墙服务-但开机还会自动启动
systemctl stop firewalld           
// 彻底关闭-开机不会启动防火墙
systemctl disable firewalld

编辑Nacos的启动脚本startup.sh

编辑这个脚本的目的,是为了能够让我们在使用此命令启动的时候传入对应的端口号参数,这样携带着具体端口号参数的启动就能启动具体的Nacos节点了,此脚本的为止在/nacos/bin中

核心点:传递不同的端口号启动不同的nacos实例,命令:./startup.sh -p 3333表示启动端口号为3333的nacos服务器实例,这里要和config保持一致。

具体修改

首先,还是备份一下文件

cp startup.sh startup.sh.bk

nacos 多个mysql nacos多数据库配置_nacos 多个mysql_08

接着,我们编辑startup.sh文件,命令vim startup.sh

nacos 多个mysql nacos多数据库配置_mysql_09

nacos 多个mysql nacos多数据库配置_mysql_10

修改成功之后,我们将nacos复制两个,分别为nacos1和nacos2

nacos 多个mysql nacos多数据库配置_数据库_11

将三个nacos启动起来

./startup.sh -o 8848
./startup.sh -o 8868
./startup.sh -o 8888

nacos 多个mysql nacos多数据库配置_java_12

注意:如果是Linux虚拟机,需要至少分配4G以上内存。

启动完成之后我们需要通过如下指令来测试Nacos集群是否正常启动,数量为3

ps -ef|grep nacos|grep -v grep |wc -l

nacos 多个mysql nacos多数据库配置_数据库_13

Nginx配置

nignx的安装在此省略。

  1. 当前我的nignx是装在/usr/local/目录下的,所以我们还是进入conf目录,先将需要修改的配置进行备份。

nacos 多个mysql nacos多数据库配置_分布式_14

cd /usr/local/nginx-1.21.6
cp nginx.conf nginx.conf.bk

nacos 多个mysql nacos多数据库配置_分布式_15

  1. 修改nginx.conf

nacos 多个mysql nacos多数据库配置_分布式_16

upstream cluter{
     server 192.168.79.128:8848;
     server 192.168.79.128:8868;
     server 192.168.79.128:8888;
}
    
server {
    listen       1111;

    location / {
        root   html;
        index  index.html index.htm;
        proxy_pass   http://cluter;
    }
}
启动Nginx
  1. 首先进入到Nginx目录下,启动Nginx,同时要带着我们设置过得配置文件启动
./nginx -c /usr/local/nginx-1.21.6/conf/nginx.conf

nacos 多个mysql nacos多数据库配置_分布式_17

  1. 通过访问Nginx来测试是否能够访问到Nacos,在win系统浏览器网址上输入:http://192.168.79.128:1111/nacos

nacos 多个mysql nacos多数据库配置_分布式_18

  1. 我们在Nacos上新建一个配置config-info.yaml
  2. 在数据库中检查是否有这一条配置,如果有,则表示成功添加
mysql -uroot -p

show databases;

use nacos_config;

show tables;

select * from config_info;

nacos 多个mysql nacos多数据库配置_mysql_19

配置微服务为Linux版Nacos集群并注册进Nacos

  1. 我们以springcloudalibaba-nacos-9002为例,此时我们要修改application.yaml文件,把之前的Nacos端口换成Nacos集群
server:
  port: 9002
spring:
  application:
    name: nacos-provider
  cloud:
    nacos:
      discovery:
        # server-addr: localhost:8848
        # 换成nginx的1111端口,做集群
        server-addr: http://192.168.79.128:1111
management:
  endpoint:
    web:
      exposure:
        include: '*'

nacos 多个mysql nacos多数据库配置_数据库_20

  1. 配置完成启动服务,我们就可以在Naocs平台上看见对应的微服务了,此时表示服务注册成功

nacos 多个mysql nacos多数据库配置_数据库_21