nginx+gateway+nacos集群手记

nginx+nacos集群

先做nacos集群

单机模式很简单,启动加参数就可以了

sh startup.sh -m standalone

nacos1.0版本集群

  1. 加配置cluster.conf
172.21.11.5:8848
172.21.11.5:8849
172.21.11.5:8850
  1. 加配置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
  1. 改配置application.properties

设置固定ip:

nacos.inetutils.ip-address=172.21.11.5

修改端口:

### Default web server port:
server.port=8848
  1. 调整启动参数
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
  1. 执行sql
    nginx+gateway+nacos集群手记

nginx+gateway+nacos集群手记

  1. 直接命令启动
    sh startup.sh
    nginx+gateway+nacos集群手记

注意事项:
1、nacos要设置固定IP(内网IP),可以用hostname -i命令查看
2、防火墙要放开对集群的几个端口的限制
3、生产环境集群要部署在不同服务器上,否则集群没意义
4、内存不够的话,启动脚本startup.sh中可以适当调整nacos的jvm参数

nacos2.0版本集群

注意:偏移量会踩坑

  1. 注意配置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

  1. 增加配置
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/;
	  }
	}
  1. 重新加载配置

nginx安装目录下执行 nginx -s reload

  1. 重启nginx

nginx安装目录下执行配置 nginx -c /usr/local/nginxnginx.conf
如果报错,则相关目录下增加一个文件夹即可(根据提示创建)

  1. 重启失败,直接杀死主进程,再重启

pkill -9 nginx

  1. 重启后直接访问http://172.21.11.5/nacos/

至此,nginx+nacos集群搭建完毕

下一节记录nginx+gateway集群搭建

最后记录nginx+gateway+nacos集群搭建

上一篇:Spring Cloud Gateway 请求报文获取 高性能实现方法


下一篇:spring cloud项目07:网关(Gateway)(2)