nacos源码学习1-源码项目启动篇
第一步、首先从GitHub上拉取源码
在GitHub上搜索nacos之后点进去是默认develop分支,点击绿色code按钮,会弹出git连接,一般网络都会比较差,可以尝试使用手机流量,直接下载zip文件,然后解压,或者科学上网,但是一般git pull 代码都会比较慢,所以还是推荐先使用手机网络下载zip
直接启动
源码下载后,打开项目,一般都比较难找到启动类,这里我给大家贴出来,是在 console 模块下的nacos启动类
直接启动的话会遇见如下报错,这是因为nacos默认是集群模式,所以需要读取外部数据库配置文件jdbc.properties,这里在后续篇幅再讲
Caused by: java.lang.RuntimeException: [db-load-error]load jdbc.properties error
at com.alibaba.nacos.persistence.datasource.ExternalDataSourceServiceImpl.init(ExternalDataSourceServiceImpl.java:119)
at com.alibaba.nacos.persistence.datasource.DynamicDataSource.getDataSource(DynamicDataSource.java:55)
... 39 common frames omitted
Caused by: java.io.IOException: java.lang.IllegalArgumentException: db.num is null
at com.alibaba.nacos.persistence.datasource.ExternalDataSourceServiceImpl.reload(ExternalDataSourceServiceImpl.java:168)
at com.alibaba.nacos.persistence.datasource.ExternalDataSourceServiceImpl.init(ExternalDataSourceServiceImpl.java:116)
... 40 common frames omitted
Caused by: java.lang.IllegalArgumentException: db.num is null
at com.alibaba.nacos.common.utils.Preconditions.checkArgument(Preconditions.java:42)
at com.alibaba.nacos.persistence.datasource.ExternalDataSourceProperties.build(ExternalDataSourceProperties.java:78)
at com.alibaba.nacos.persistence.datasource.ExternalDataSourceServiceImpl.reload(ExternalDataSourceServiceImpl.java:136)
我们先将启动模式调整为单机,添加启动参数 -Dnacos.standalone=true
如下图,已经启动完成了
启动nacos管理页面
可以看到在项目模块总中包含了一个 console-ui 的模块,这个就是nacos的前端项目
在前端项目中的 README.md 的文件中,就已经包含了前端项目的启动步骤
进入前端项目执行 npm install 安装前端项目依赖,前提是已经安装了nodejs
没遇到报错就是安装成功了
执行npm start 之后,就会直接进入到nacos管理界面,大概稍微要等待十几秒