我们现在知道,想要启动Naocs只需要启动startup.sh命令即可,但是如果要启动3个Nacos呢?
所以如果我们需要启动多个Nacos,就需要自行修改startup命令。
create database nacos_config;
use nacos_config;
source /opt/nacos/conf/nacos-mysql.sql
修改application.properties配置文件(修改之前我们最好做一个备份)。
cp application.properties application.properties.init
这里的修改和我们之间的在win上的修改是完全一样的,所以我们只要打开这个文件,加上对应的内容即可
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
这里开始正式配置集群,首先我们要更改cluter.conf这个配置文件,当然我们也需要备份,但是这里它的原始名称为:cluster.conf.example,我们需要把它保留同时复制出一个cluster.conf来进行更改
cp cluster.conf.example cluster.conf
具体配置内容,这里我们在配置集群的时候不能直接写127.0.0.1这样,这样分不清楚,所以我们需要知道具体的IP地址,我们可以通过以下命令
ifconfig -a #查看具体ip
具体需修改内容:
#
# 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之前,需要进行关闭防火墙操作:
// 关闭防火墙服务-但开机还会自动启动
systemctl stop firewalld
// 彻底关闭-开机不会启动防火墙
systemctl disable firewalld
编辑这个脚本的目的,是为了能够让我们在使用此命令启动的时候传入对应的端口号参数,这样携带着具体端口号参数的启动就能启动具体的Nacos节点了,此脚本的为止在/nacos/bin中
核心点:传递不同的端口号启动不同的nacos实例,命令:./startup.sh -p 3333表示启动端口号为3333的nacos服务器实例,这里要和config保持一致。
首先,还是备份一下文件
cp startup.sh startup.sh.bk
接着,我们编辑startup.sh文件,命令vim startup.sh
修改成功之后,我们将nacos复制两个,分别为nacos1和nacos2
将三个nacos启动起来
./startup.sh -o 8848
./startup.sh -o 8868
./startup.sh -o 8888
注意:如果是Linux虚拟机,需要至少分配4G以上内存。
启动完成之后我们需要通过如下指令来测试Nacos集群是否正常启动,数量为3
ps -ef|grep nacos|grep -v grep |wc -l
nignx的安装在此省略。
cd /usr/local/nginx-1.21.6
cp nginx.conf nginx.conf.bk
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 -c /usr/local/nginx-1.21.6/conf/nginx.conf
我们在Nacos上新建一个配置config-info.yaml
在数据库中检查是否有这一条配置,如果有,则表示成功添加
mysql -uroot -p
show databases;
use nacos_config;
show tables;
select * from config_info;
我们以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: '*'