官网文档地址:https://nacos.io/zh-cn/docs/deployment.html github地址:https://github.com/alibaba/nacos
nacos简介
Nacos,全称阿里巴巴开源的动态服务发现、配置和服务管理平台,是构建以“服务”为中心的现代应用架构(例如微服务范式、云原生范式)的服务基础设施。它是云原生应用的三大功能:注册中心、配置中心和动态DNS服务的提供者。
在服务注册发现和服务健康检测方面,Nacos支持基于DNS和基于RPC的服务发现,并且服务端可以通过SDK或者Api进行服务注册。相应的服务消费者可以使用DNS或者Http查找的方式获取服务列表。此外,Nacos还提供对服务的实时健康检查,阻止向不健康的主机或服务发送请求。
在动态配置服务上,Nacos支持动态的配置管理,将服务的配置信息分环境分类别外部管理,并且支持热更新。与Config不同的是,Nacos的配置信息存储在数据库中,支持配置信息的监听和版本回滚。
除此之外,Nacos还能让您从微服务平台建设的视角管理数据中心的所有服务及元数据,包括管理服务的描述、生命周期、服务的静态依赖分析、服务的健康状态、服务的流量管理、路由及安全策略、服务的SLA以及metrics统计数据。
单机部署
1.从github下载项目https://github.com/alibaba/nacos/releases/tag/2.1.0 我部署的是2.1.0版本,大家可以根据自己的需求下载相应的文件 2.项目拉取完之后我们直接放到服务器上解压 3.项目依赖于mysql数据库,版本版本要求:5.6.5+,我们需要创建一个库名为nacos的数据库,使用nacos/conf/nacos-mysql.sql初始化数据,初始化完成之后就可以部署项目了 初始化sql文件 4.修改 nacos/conf/application.properties 配置文件,我们此处只需修改我们的端口号和数据库配置即可 配置文件模板 5.启动项目
cd nacos/bin
sh startup.sh -m standalone
集群部署
集群部署前边的步骤和单机部署一致,我们在第四步的时候还需要在 nacos/conf 下额外配置一个 cluster.conf的配置文件,请每行配置成ip:port。(请配置3个或3个以上节点)
# ip:port
192.168.1.106:8858
192.168.1.106:8868
192.168.1.106:8878
我们此处配置了3个节点,每个服务的配置文件只有端口号做了修改,其他的均一致; 启动项目:
cd nacos/bin
sh startup.sh
部署完成后我们使用默认的用户:nacos,密码:nacos登录
到此我们已经可以使用了 如果我们使用http://ip1:port/nacos 直连ip模式,机器挂则需要修改ip才可以使用。生产我们推荐使用ng或其他方式做负载,来提高我们服务的可用性
部署常见问题
1.jdk 配置问题
readlink: missing operand
Try 'readlink --help' for more information.
dirname: missing operand
Try 'dirname --help' for more information.
ERROR: Please set the JAVA_HOME variable in your environment, We need java(x64)! jdk8 or later is better! !!
这种情况是我们配置的jdk路径nacos没识别到,我们只需在启动脚本nacos/bin/startup.sh中手动配置下我们的JAVA_HOME 路径即可 图中红色标记的部分则是我们添加的自己的jdk安装路径