nginx+nacos集群
先做nacos集群
单机模式很简单,启动加参数就可以了
sh startup.sh -m standalone
nacos1.0版本集群
- 加配置cluster.conf
172.21.11.5:8848
172.21.11.5:8849
172.21.11.5:8850
-
加配置mysql支持conf/application.properties
PS:用nacos自带的数据库做集群,存在数据一致性问题,所以统一放mysql
spring.datasource.platform=mysql
db.num=1
db.url.0=jdbc:mysql://172.21.11.5:3306/nacos_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
db.user=root
db.password=root
- 改配置application.properties
设置固定ip:
nacos.inetutils.ip-address=172.21.11.5
修改端口:
### Default web server port:
server.port=8848
- 调整启动参数
PS:看自己内存够不,可以不调,默认2G
#===========================================================================================
# JVM Configuration
#===========================================================================================
if [[ "${MODE}" == "standalone" ]]; then
JAVA_OPT="${JAVA_OPT} -Xms512m -Xmx512m -Xmn256m"
JAVA_OPT="${JAVA_OPT} -Dnacos.standalone=true"
else
if [[ "${EMBEDDED_STORAGE}" == "embedded" ]]; then
JAVA_OPT="${JAVA_OPT} -DembeddedStorage=true"
fi
# JAVA_OPT="${JAVA_OPT} -server -Xms2g -Xmx2g -Xmn1g -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"
JAVA_OPT="${JAVA_OPT} -server -Xms2g -Xmx2g -Xmn1g -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"
JAVA_OPT="${JAVA_OPT} -XX:-OmitStackTraceInFastThrow -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=${BASE_DIR}/logs/java_heapdump.hprof"
JAVA_OPT="${JAVA_OPT} -XX:-UseLargePages"
fi
-
执行sql
-
直接命令启动
sh startup.sh
注意事项:
1、nacos要设置固定IP(内网IP),可以用hostname -i命令查看
2、防火墙要放开对集群的几个端口的限制
3、生产环境集群要部署在不同服务器上,否则集群没意义
4、内存不够的话,启动脚本startup.sh中可以适当调整nacos的jvm参数
nacos2.0版本集群
注意:偏移量会踩坑
- 注意配置cluster.conf的端口,其他同1.0版本一样
172.21.11.5:8848
172.21.11.5:8850
172.21.11.5:8852
注意: 相对于之前的版本增加了gRPC的通信方式,增加了偏移量,简单说
8848启动,9848和9849端口也会被占用,所以,不能8848,8849,8850三个端口做集群,会一直提示端口占用,改为8848,8850,8852即可,或者其他不相连的端口,预留出来偏移量的端口即可成功!
配置nginx
- 增加配置
upstream nacos-server {
server 172.21.11.5:8848;
server 172.21.11.5:8850;
server 172.21.11.5:8852;
}
server {
listen 80;
server_name 172.21.11.5;
location / {
proxy_pass http://nacos-server/;
}
}
- 重新加载配置
nginx安装目录下执行 nginx -s reload
- 重启nginx
nginx安装目录下执行配置 nginx -c /usr/local/nginxnginx.conf
如果报错,则相关目录下增加一个文件夹即可(根据提示创建)
- 重启失败,直接杀死主进程,再重启
pkill -9 nginx
- 重启后直接访问http://172.21.11.5/nacos/