写在最前面
Nacos官网文档:https://nacos.io/zh-cn/docs/cluster-mode-quick-start.html
环境配置:
操作系统: CentOS7 64位
JDK版本: 1.8
Nacos版本: 1.1.4
MySQL版本: 5.7
Nginx版本: 1.18.0
CentOS7安装JDK1.8: https://blog.csdn.net/single_0910/article/details/113033380
CentOS7安装MySQL5.7:https://blog.csdn.net/qq_42969074/article/details/84853307
CentOS7安装 Nginx 1.18.0:https://blog.csdn.net/single_0910/article/details/113061140
1:下载Nacos安装包
下载地址:https://github.com/alibaba/nacos/releases/tag/1.1.4
Nacos官网推荐的集群模式(VIP=virtual IP 虚拟IP
,本文使用Nginx1.18.0实现)
新建空白文件夹:
mkdir /usr/local/nacos-1.1.4
将下载的nacos-server-1.1.4.tar.gz
上传至/usr/local/nacos-1.1.4目录下,然后解压:
tar -zxvf nacos-server-1.1.4.tar.gz
解压完成后会出现一个nacos
文件夹:
cd /usr/local/nacos-1.1.4/nacos
目录结构如下:
2.Nacos集群配置的两种方案:
- 2.1:将解压后的
nacos
文件复制成三份,修改conf目录下的application.properties,将其中的server.port分别修改为3333,4444和5555,然后分别在各自的cluster.conf配置如下内容:
192.168.226.128:3333
192.168.226.128:4444
192.168.226.128:5555
说明:192.168.226.128
是我的linux系统ip,可以使用hostname -i
查看ip
然后分别启动nacos,集群即可搭建成功。
- 2.2:虚拟集群(本文采用这种方式,主要是因为懒)
瞎逼折腾之前请备份(万一玩坏了呢
),进入bin
目录,将startup.sh
进行备份:
cp startup.sh startup.bak
修改startup.sh内容:p:
和p) PORT=$OPTARG;;
倒数第二行添加:-Dserver.port=${PORT}
在conf目录下的cluster.conf配置如下内容:
192.168.226.128:3333
192.168.226.128:4444
192.168.226.128:5555
至此Nacos集群搭建完毕
3.MySQL持久化配置
官网帮助文档:https://nacos.io/zh-cn/docs/cluster-mode-quick-start.html
运行sql源文件:
cd /usr/local/nacos-1.1.4/nacos/conf
在MySQL数据库新建nacos_config
数据库(官网要求),执行nacos-mysql.sql
配置Nacos持久化:
vim /usr/local/nacos-1.1.4/nacos/conf/application.properties
在末尾新增:
spring.datasource.platform=mysql
db.num=1
db.url.0=jdbc:mysql://192.168.226.128:3306/nacos_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
db.user=test
db.password=Nacos_test123
说明:db.url.0
写你要配置的数据库ip
db.user
写你要配置的数据库用户名
db.password
写你要配置的数据库用户密码
4.Nginx负载均衡
进入Nginx配置目录:
cd /usr/local/nginx/conf
修改nginx.conf
:
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
upstream cluster {
server 192.168.226.128:3333;
server 192.168.226.128:4444;
server 192.168.226.128:5555;
}
server {
listen 80;
server_name localhost;
location / {
#root html;
#index index.html index.htm;
proxy_pass http://cluster;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}
5 : 启动测试
---------------------------------------略----------------------------------------