本示例是安装在本地虚拟机linux环境。
(1)下载nacos
本示例版本为nacos-server-2.5.0,可从官网下载:Nacos 快速开始 | Nacos 官网
(2)上传服务器并修改配置
放到/app/nacos目录下:
解压后复制conf下的cluster.conf.example为cluster.conf,并修改cluster.conf配置如下,ip自行修改
复制3个nacos实例:注意端口不能连号,否则集群会启动失败(2.0使用grpc,连续端口会出现端口冲突),所以这里使用8870、8880、8890;而不是8840、8841、8842这种连续端口
cd /app/nacos; for X in {7..9}; do cp -aR nacos nacos88"$X"0; done
修改application.properties配置
ip='xxx.xxx.xxx.xxx';for X in {7..9}; do cd /app/nacos/nacos88"$X"0/conf; sed -i -e "s/# spring.sql.init.platform/spring.sql.init.platform/g" application.properties; sed -i -e "s/# db.num=1/db.num=1/g" application.properties; sed -i -e "s/server.port=8848/server.port=88"$X"0/g" application.properties; sed -i -e "s/# db.url.0=jdbc:mysql:\/\/127.0.0.1/db.url.0=jdbc:mysql:\/\/"$ip"/g" application.properties; sed -i -e "s/# db.user.0/db.user.0/g" application.properties; sed -i -e "s/# db.password.0/db.password.0/g" application.properties; sed -i -e "s/serverTimezone=Asia\/Shanghai/serverTimezone=Asia\/Shanghai\&allowPublicKeyRetrieval=true/g" application.properties; done
ip为数据库的ip地址。
这里改了端口号,以及把数据库连接配置的注释打开,并把对应的ip改成本地ip,因为我的mysql没安装在虚拟机上,放在本地物理机了。这个按个人情况修改,如果mysql和nacos都在虚拟机上,ip可以不用改。
(3)准备mysql数据库
创建nacos数据库
CREATE DATABASE nacos DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
Use nacos;
创建nacos用户并授权:
CREATE USER 'nacos'@'%' IDENTIFIED BY 'nacos';
GRANT ALL PRIVILEGES ON nacos.* TO 'nacos'@'%';
执行nacos初始化sql,初始化sql在nacos/conf下
(4)修改启动参数
因为是开发所用,虚拟机不需要设置那么大的内存,节约资源
for X in {7..9}; do cd /app/nacos/nacos88"$X"0/bin; sed -i -e "s/-Xms2g -Xmx2g -Xmn1g/-Xms256m -Xmx512m -Xmn256m/g" startup.sh; done
(5)开通端口
firewall-cmd --permanent --add-port=8870/tcp;
firewall-cmd --permanent --add-port=8880/tcp;
firewall-cmd --permanent --add-port=8890/tcp;
#grpc
firewall-cmd --permanent --add-port=9870/tcp;
firewall-cmd --permanent --add-port=9880/tcp;
firewall-cmd --permanent --add-port=9890/tcp;
firewall-cmd --reload
(6)启动3个实例
for X in {7..9}; do cd /app/nacos/nacos88"$X"0/bin; ./startup.sh; done