1.虚拟机安装mysql5.6 (亲测不必非得安装mysql8)mysq一定要开远程访问权限
2.官网下载nacos稳定版2.1.1 按照官方文档进行安装即可 其实就是下载源码包zip或者tar.gz解压即可
配置java环境变量
vi /etc/profile
export JAVA_HOME=/app/jdk1.8.0_211
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
source /etc/profile 使配置立即生效
java -version 查看版本
3.nacos/conf 修改application.properties配置文件中DB连接的位置 连接mysql数据库 需要提前在mysql中建好库 ,并执行nacos-mysql.sql自动生成所需要的表
4.单机单节点可启用单机模式 /nacos/bin下执行
启动命令(standalone代表着单机模式运行,非集群模式):
sh startup.sh -m standalone
在nacos/conf下 新建一个文件 cluster.conf
#2023-04-13T07:51:37.372
192.168.66.123:8848
192.168.66.123:8868
192.168.66.123:8878
写自己的实际ip和端口
wq保存
三个节点都要加此配置文件
修改nacos/bin/start.sh中export MODE="cluster" 为集群模式
修改nacos/conf/application.properties文件
server.port=8848 为此节点端口
nacos.inetutils.ip-address=192.168.66.123 为此节点所在ip地址
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&useUnicode=true&useSSL=false&serverTimezone=UTC
db.user.0=root
db.password.0=root 设置数据库链接
同样三个节点的配置文件都要改对
然后编辑一个统一启动的sh文件
/data/qinyi/nacos-8878/bin/startup.sh
/data/qinyi/nacos-8868/bin/startup.sh
/data/qinyi/nacos-8848/bin/startup.sh
wq保存
chmod u+x runnacos.sh 给可执行脚本授权
本文所示为按官方推荐配置(Nacos的运行需要以至少2C4g60g*3的机器配置下运行)启用3节点集群模式
集群模式需要一个nginx来分发端口,安装一个nginx
nginx安装教程
配置Nginx代理三节点的Nacos
编辑nginx.conf文件
添加upstream
#gzip on;
upstream nacosList{
server 192.168.66.123:8848;
server 192.168.66.123:8868;
server 192.168.66.123:8878;
}
添加转发地址配置
location ~/nacos {
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://nacosList;
}
如果想F12查看具体被转发到哪个节点 server中增加如下配置
#access_log logs/host.access.log main;
add_header backendCode $upstream_status;
add_header BackendIP "$upstream_addr;" always;
wq保存
重启nginx生效
nginx会随机转发到某个节点的nacos中去 默认权重都为平均的
访问地址 http://192.168.66.123/nacos
记得开firewall的端口 不然nacos也是无法访问的