我用的是Win10系统,为了演示方便,所以就直接把nacos搭在了本地,配置源暂时先用Nacos内嵌的,后面搭建nacos集群时会改用mysql来存储nacos配置信息。
nacos是运行在Java环境上的,所以必须要有java环境
maven环境主要用来将nacos源码编译为可执行文件(jar),为什么需要maven环境呢?是因为我傻乎乎的从github下载的是源码包,所以需要通过mvn命令手动编译一下。(我建议直接下载安装包,当然如果你要修改nacos源码的话就当我没说。。)
源码包虽然需要手动编译,但是源码包非常小,大概只有4M左右,不像安装包那样有70多M,所以如果你网速不是很好的话,下载源码包手动编译其实也是一个不错的选择
Nacos仓库地址:https://github.com/alibaba/nacos/releases(安装包龟速下载中。。。)
源码包—百度网盘:https://pan.baidu.com/s/1qCL7iRbT1gXxjsU7mkLuag 提取码:49ke
安装包—百度网盘:https://pan.baidu.com/s/1z3mPXFStyIJAoECl6eut1g 提取码:l5yc
源码包下载完成并解压后的目录是这个样子。如果你下载的是安装包,那么可以跳过这一个步骤
进入到nacos-1.4.0的根目录下执行 mvn -Prelease-nacos -Dmaven.test.skip=true clean install -U 进行编译
这个命令是我从nacos官网上扒拉下来的:https://nacos.io/en-us/docs/quick-start.html
编译完成后可以看到一堆绿油油的SUCCESS和\nacos-1.4.0\distribution下多出了一个target目录。
安装包下载完成并解压后的目录如下
然后进入bin目录,可以看到以下的几个脚本
我使用的windows系统,所以要通过startup.cmd这个脚本来启动,这个启动脚本默认是集群模式,所以我还需要编辑一下改为单机模式,当然如果你不修改启动脚本而是在启动时加-m standalone参数手动指定也是可以的,但是由于我比较懒,就直接修改脚本了。
脚本修改完成后双击startup.cmd就可以启动Nacos了
温馨提示1:单机启动时第一行会提示"nacos is starting with standalone"",需要按一下回车键确认一下哦
温馨提示2:通过这个这个脚本启动的nacos不是后台进程,所以记得不要关闭这个窗口
接着就可以去浏览器访问了,http://localhost:8848出现如下界面就代表nacos已经成功启动了。
然后输入nacos默认的账号密码nacos/nacos就可以进入nacos的控制台了
server:
port: 8089
spring:
application:
name: pay-service
cloud:
nacos:
config:
server-addr: localhost:8848
profiles:
active: develop
然后先添加一个@RestController演示效果( 我是真的懒,Controller都懒得写 直接怼在启动类里面算了),需要关注的是@RefreshScope和@Value这两个SpringCloud原生注解
@SpringBootApplication
然后启动项目并访问http://localhost:8089/hello可以看到返回了cache的默认值:default。
然后再登录nacos的控制台添加配置信息,并点击右下角的发布按钮
这里需要说明一点:Nacos是通过Namespace+Group+DataID这三个要素定位到指定的配置文件的,并且DataId也具有指定的规则
详情请参考官方文档:https://nacos.io/zh-cn/docs/quick-start-spring-cloud.html
然后再次访问http://localhost:8089/hello,可以看到cache的值已经被刷新了
最后说一点,按照dataID的规则假如我配置了spring.profiles.active这个属性时,那么我对应的DataID应该是pay-service-develop.properties。但是我发现当pay-service-develop.properties配置文件不存在时,那么nacos也会取pay-service.properties中的配置信息。
代码已上传至github: https://github.com/chhnhcqjava/SpringCloudAlibabaDemo_1.git