版本选择
首先看下Nacos的版本很多,我们选2.0.2还是1.4.3怎么选,是靠懵吗,选错了版本会有很多不兼容的问题,所以一开始就要避免。
在选择Nacos版本之前,我们首先要了解下面这幅图。Spring Cloud是一个生态,他制定了规范,制定了接口,如ServiceRegister,然后由不同的厂商如Alibaba,Netflix来实现他制定的接口。
下面是一张更完整的图,我们可以看出Spring Cloud制定了接口,由各个厂商来实现,当然Spring Cloud自己也能自己实现接口,他也有自己的产品。
了解了上面的关系以后,我们来进行选版本。
第一步
进到这个网址
https://start.spring.io/actuator/info
。开始选Spring Cloud和Spring boot的版本。这里我不想用最新的Spring Boot 3.x的版本,所以我选择了
Spring Boot >=2.6.1 and ❤️.0.0-M1,Spring Cloud 2021.0.6
的版本。
接下来进到Spring Cloud Alibaba的wiki页面 https://github.com/alibaba/spring-cloud-alibaba/wiki/版本说明 。
找到这一块,因为上面选择的Spring Cloud 2021.0.6没有,所以选择最接近的Spring Cloud 2021.0.4也是没问题的,然后Spring Boot 2.6.11也是在上面的范围内,所以
第二步
确定下来Spring Cloud Alibaba的版本为2021.0.4.0* 。
然后再往下翻,找到组件版本关系的表格,因为上面我们确定了Spring Cloud Alibaba的版本是2021.0.4.0*,所以这里对照表格,
第三步
确定了Nacos的版本为2.0.4。
所以最终确定下来的版本如下:
Sping的版本是由Spring Boot的版本决定的。
所以本文演示安装的Nacos版本是2.0.4。
下载源码
确定完版本以后,我们就可以来下载源码安装包了。进到Nacos的github https://github.com/alibaba/nacos 。然后点击+51 releases
切换到Tags 点击2.0.4 Downloads
跳转到Assets下载源码
准备工作
安装数据库
nacos在做注册中心的时候数据是保存在内存中的,做配置中心的时候数据需要持久化,
默认用的是apache-derby,也可以切换成外置数据源mysql
。
这里我在云服务器上已经用docker安装好了mysql,现在要做的就是在里面创建表,然后让 nacos 连上去
。
打开nacos-server-2.0.4.tar.gz的conf文件夹下,找到nacos-mysql.sql文件
在mysql里执行一下,这时候就多了很多张表
安装jdk
因为nacos是spring boot写的,所以需要有jdk的环境
1、下载jdk
https://www.oracle.com/cn/java/technologies/downloads/
2、新建一个文件夹,把压缩包上传上去
mkdir java
3、解压
tar -zxvf jdk-8u191-linux-x64.tar.gz
4、打开/etc/profile文件
vim /etc/profile
光标移动到最后一行,添加下面几句话
JAVA_HOME=/java/jdk1.8.0_191
CLASSPATH=$JAVA_HOME/lib/
PATH=$PATH:$JAVA_HOME/bin
export PATH JAVA_HOME CLASSPATH
5、使环境变量生效
source /etc/profile
6、检查一下
java -version
已经生效了
二进制安装
1、解压
tar -zxvf nacos-server-2.0.4.tar.gz
2、进到配置文件修改配置
cd conf
vim application.properties
把数据库信息改成自己的数据库
3、进入到bin目录启动
cd bin
sh startup.sh -m standalone
显示nacos在启动中,我们可以去看日志
4、查看启动日志
tail -f /root/nacos/logs/start.out
tail -f ../logs/start.out
看了下日志已经启动成功了,监听在8848端口
5、访问一下,输入默认用户名:nacos和密码:nacos
源码安装
因为我们后面要讲解nacos源码,还要打断点调试,所以要把项目给跑起来。
1、打开源码,配置下maven
2、编译一下会发现报错consistency.entity不存在
将nacos的pom文件中的protobuf依赖版本换成新版本3.19.3
再编译一下就不会报错了
3、配置nacos单机启动
-Dnacos.standalone=true -Dnacos.home=nacos-home-standalone
4、找到启动类启动一下
5、访问一下,已经启动成功了
总结
本文介绍了两种启动nacos的方法,二进制安装是我们项目中实际使用的方式,源码安装是我们学习源码时候的启动方式,大家快动手操作下吧。。。