一、nacos持久化
nacos默认有自带嵌入式数据库derby,但是如果做集群模式的话,就不能使用自己的数据库不然每个节点一个数据库,那么数据就不统一了,需要使用外部的mysql
1、首先要切换数据库
修改conf/application.properties文件,增加支持mysql数据源配置(目前只支持mysql,版本要求:5.6.5+)
### 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=1000&sockettimeout=3000&autoreconnect=true&useunicode=true&usessl=false&servertimezone=utc db.user.0=root db.password.0=1111
2、建库建表
1、创建nacos库
- 注意:库名和application.properties中的库名保持一致
2、建表
- 找到conf/nacos-mysql.sql文件并执行
3、测试
- 重启nacos
- 新建配置文件
- 观察配置文件是否持久化到mysql中的
二、nacos集群
(一)、部署架构图

(二)、节点规划
在练习的过程中,我们采用的是同一台虚拟机,所以ip地址是一直,通过改变端口的方式来模拟不同的服务器

(三)、集群搭建
1、找到conf/cluster.conf.example ,可以复制一份,将其改名为 conf/cluster.conf ,并将内容改为如下:
# ip:port 192.168.209.129:8848 192.168.209.129:8849 192.168.209.129:8850
2、复制三份nacos
[root@localhost bin]# cd /usr/local [root@localhost java]# mkdir nacos_cluster [root@localhost java]# cp -r nacos nacos_cluster/nacos_8848 [root@localhost java]# cp -r nacos nacos_cluster/nacos_8849 [root@localhost java]# cp -r nacos nacos_cluster/nacos_8850
3、将 conf/application.properties 中的端口号分别改为:
server.port=8848 server.port=8849 server.port=8850
(四)、配置代理服务
安装nginx
1、安装nginx的依赖库
yum -y install gcc pcre pcre-devel zlib zlib-devel openssl openssl-devel
2、下载nginx
wget -c https://nginx.org/download/nginx-1.12.0.tar.gz
3、解压安装包
tar -zxvf nginx-1.12.0.tar.gz
4、配置nginx安装包
cd nginx-1.12.0 ./configure --prefix=/usr/local/nginx
注意:
./configure配置nginx安装到/usr/java/nginx目录下
5、编译并安装
make && make install
6、配置nginx代理nacos
upstream nacos {
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://nacos;
}
}7、启动nginx
[root@localhost nginx]# cd /usr/local/nginx/sbin/ [root@localhost sbin]# ./nginx
8、将微服务注册到集群

(五)、nacos的开机启动
1、编写开机启动文件
(1)添加nacos.service文件
vim /lib/systemd/system/nacos.service
(2)文件内容如下:
[unit] description=nacos after=network.target [service] type=forking execstart=/usr/local/nacos/bin/startup.sh -m standalone execreload=/usr/local/nacos/bin/shutdown.sh execstop=/usr/local/nacos/bin/shutdown.sh privatetmp=true [install] wantedby=multi-user.target
2、修改nacos的startup.sh
(1)修改java_home路径并注销之后的3行配置,如下:
[ ! -e "$java_home/bin/java" ] && java_home=/usr/local/jdk1.8.0_191 #[ ! -e "$java_home/bin/java" ] && java_home=/usr/java #[ ! -e "$java_home/bin/java" ] && java_home=/opt/taobao/java #[ ! -e "$java_home/bin/java" ] && unset java_home
注意自身jdk版本
3、设置开机启动
systemctl daemon-reload #重新加载服务配置 systemctl enable nacos.service #设置为开机启动 systemctl start nacos.service #启动nacos服务 systemctl stop nacos.service #停止nacos服务
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。
发表评论