环境信息
- Nacos 版本 2.0
- JDK 1.8.0_161
- Mysql 5.7.23
注意点
- Nacos 2.x 启动了多个端口号
- Nacos 2.x 启动多个端口规则如下官方issuer
2.0需要4个端口
server.port(默认8848)
raft port: $ - 1000
grpc port: $ + 1000
grpc port for server: $ + 1001
Nacos 服务安装
- nacos 使用java语言开发,所以服务器需要安装好 JAVA Runtime 或 JDK,如何安装java运行环境自行百度
- 获取 nacos 服务,由于包在github上,下载可能会不稳定
#下载
wget https://github.com/alibaba/nacos/releases/download/2.0.0-bugfix/nacos-server-2.0.0.tar.gz
# 解压
tar -xvf nacos-server-2.0.0.tar.gz
集群配置
- 复制 nacos/conf 文件夹下的 cluster.conf.example 文件,并重名为 cluster.conf
- 删除 cluster.conf 里配置的默认信息,然后按照 ip:port 的格式添加准备集群的信息,例如:
1.0.3.9:4000
1.0.3.9:8000
1.0.6.47:4000
1.0.6.47:8000
- 连接mysql 创建数据库,官方要求5.6以上,创建表的脚本在 nacos/conf目录下,名为schema.sql 或 nacos-mysql.sql 根据需要自行执行,建议修改数据库名称,默认用户名密码为 nacos,初始化后建议修改
- 编辑 nacos/conf 文件下的 application.propertys 文件,配置数据库信息如下格式
### If use MySQL as datasource:
spring.datasource.platform=mysql
db.num=1
db.url.0=jdbc:mysql://127.0.0.1:3306/数据库名字?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
db.user.0=账号
db.password.0=密码
- 单机启动多个 nacos ,启动几份就复制几份配置好的服务,例如我这里复制两份并将文件夹重命名了,名字中有对应的端口号信息,复制后记得修改端口号,或者启动时指定端口号(sh starup.sh -p 端口号)
- 注意:单机机器部署多个nacos需要注意nacos四个端口号不要冲突,否则会启动报错且无法使用
- 单机启动一个 nacos 服务也需要注意不要与其它服务端口号冲突
- nacos 配置文件都修改好之后就可以使用 nacos/bin 下的 startup.sh 启动项目了
sh startup.sh -m standalone
- 集群负载均衡方式
- 云厂商提供的 SLB 等负载服务
- Nginx 配置 stream 转发
stream {
upstream back{
server IP:端口 up;
server IP:端口 up;
}
server {
listen Nginx监听端口;
proxy_connect_timeout 5s;
proxy_timeout 300s;
proxy_pass back;
}
}
查看端口号占用方法
- 获取进程号方法1
ps -ef|grep 项目名字或目录名
- 获取进程号方法2
ps -aux | grep 项目名字或目录名
- 查看端口占用
netstat -anp | grep 进程