目录
一、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、测试
1、重启nacos
2、新建配置文件
3、观察配置文件是否持久化到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服务