一、持久化
1、为什么要持久化?
nacos默认使用自带的嵌入式数据库derby,集群模式下会导致每台nacos的配置文件不一样。
2、持久化的步骤
1)修改conf/application.properties:
### If use MySQL as datasource:
spring.datasource.platform=mysql
### Count of DB:
db.num=1
### Connect URL of DB:
db.url.0=jdbc:mysql://192.168.31.19:3306/nacos?characterEncoding=utf8&connectTimeout=10000&socketTimeout=30000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
db.user.0=root
db.password.0=1111
2)建表建库
1.创建nacos库
2.建表:
找到conf/nacos-mysql.sql并执行
注:打开之后,复制全部内容,在Navicat新建查询中运行。
3)测试
1.启动mysql
2.启动nacos
3.新建配置文件,观察nacos是否把配置信息存储到mysql中
二、nacos集群搭建
1、nacos集群搭建
1)修改conf/cluster.conf:
cd /usr/local/nacos/conf
cp cluster.conf.example cluster.conf
vim cluster.conf:
# ip:port
192.168.209.129:8848
192.168.209.129:8849
192.168.209.129:8850
注:cluster.conf文件是由cluster.conf.example文件复制而来,原因是,假如cluster.conf文件损坏,可再通过cluster.conf.example文件复制,避免源文件损坏。
2)赋值3份nacos
cd /usr/local
mkdir nacos_cluster
cp -r nacos nacos_cluster/nacos_8848
cp -r nacos nacos_cluster/nacos_8849
cp -r nacos nacos_cluster/nacos_8850
3)修改conf/application.properties:
server.port=8849
server.port=8850
nacos_8850的操作与nacos_8849一样
4)启动nacos集群(把虚拟机内存调至>=2g)
cd /usr/local/nacos_cluster/nacos_8848/bin
./startup.sh
cd /usr/local/nacos_cluster/nacos_8849/bin
./startup.sh
cd /usr/local/nacos_cluster/nacos_8850/bin
./startup.sh
2、搭建nginx
1)安装c语言环境
yum -y install gcc pcre pcre-devel zlib zlib-devel openssl openssl-devel
2)下载nginx
cd /usr/upload
wget -c https://nginx.org/download/nginx-1.12.0.tar.gz
3)解压
cd /usr/upload
tar -zxvf nginx-1.12.0.tar.gz
4)配置安装路径
cd /usr/upload
cd nginx-1.12.0
/configure --prefix=/usr/local/nginx
5)编译并安装
make && make install
6)启动和关闭
cd /usr/local/nginx/sbin
启动:./nginx
关闭:./nginx -s stop
3、配置nginx代理nacos集群
vim /usr/local/nginx/conf/nginx.conf:
upstream nacosList {
server 192.168.209.129:8848;
server 192.168.209.129:8849;
server 192.168.209.129:8850;
}
server {
listen 80;
server_name localhost;
location / {
proxy_pass http://nacosList;
}
}
4、测试
spring:
cloud:
nacos:
discovery:
server-addr: 192.168.192.132 #注册中心的地址