1、Nacos安装
本文采用 docker 方式进行安装,docker 安装较为简单便捷,自己学习推荐采用此方式进行。
docker 基本命令就不再赘述了,此处附上主要命令(此处nacos安装版本采用2.0.3):
# 拉取 2.0.3 版本的 nacos 镜像
docker pull nacos/nacos-server:2.0.3
# 这里需要注意 2.x 版本的 nacos 除了 8848 端口另外还需要对 9848,9849端口进行映射
docker run --env MODE=standalone --name nacos -d -p 8848:8848 -p 9848:9848 -p 9849:9849 nacos/nacos-server:2.0.3
此处需要注意2.x版本后的 nacos 客户端新增了 gRPC 的通信方式,需要增加对9848,9849端口的映射。旧版本的可以只映射8848端口即可。
注意要记得同时开放Linux主机的相关端口(此处以8080端口为例附上相关端口命令):
# 永久开放 8080 端口
firewall-cmd --zone=public --add-port=8080/tcp --permanent
# 更新防火墙规则(注:每次开放/关闭端口都需要更新防火墙规则)
firewall-cmd --reload
# 查看 8080 端口是否开放
firewall-cmd --zone=public --query-port=8080/tcp
# 查看所有已开放端口
firewall-cmd --zone=public --list-ports
自己学习使用的话也可以选择直接关闭防火墙:
# 关闭防火墙
systemctl stop firewalld.service
# 启动防火墙
systemctl start firewalld.service
# 开机禁用防火墙自启命令
systemctl disable firewalld.service
# 防火墙随系统开启启动
systemctl enable firewalld.service
在docker中启动成功后就可以在浏览器中访问nacos的管理平台了(地址默认为:nacos服务ip地址 + :8848/nacos),默认用户名密码均为 nacos:
2、基本依赖
spring cloud,spring cloud alibaba,nacos,spring boot 的版本存在依赖关系,所以相关版本需要参考官网进行配置
版本说明链接:https://github.com/alibaba/spring-cloud-alibaba/wiki/
依赖可以交给 spring-cloud-alibaba-dependencies 进行管理
在 pom 文件中配置(这里我使用的为 2.2.7.RELEASE版本):
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-alibaba-dependencies</artifactId>
<version>2.2.7.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
接着配置主要的项目依赖:
<!-- 注意spring-boot的版本 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<version>2.3.12.RELEASE</version>
</dependency>
<!-- nacos版本交由dependencies管理 -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
3、yml文件配置
yml相关的简单配置如下,用户名密码及命名空间此处均采用默认的,都可以在nacos的管理平台进行修改配置:
spring:
application:
# 我们的服务名称
name: demo01
cloud:
nacos:
# nacos 服务ip地址,端口默认为8848
server-addr: 192.168.17.129:8848
discovery:
# nacos 为默认的用户名密码,如果不配置则默认使用nacos
# public 为默认的命名空间,如果不配置则默认使用public
username: nacos
password: nacos
namespace: public
4、项目启动
在旧版本的启动类上需要配置 @EnableDiscoveryClient 的注解,新版本中可以不进行此配置直接启动。
如下日志即表示我们的服务已经注册成功:
在nacos管理平台即可以看到我们的服务:
5、小结
nacos的安装配置过程中需要注意的就是依赖的版本问题以及新版本的端口问题。至此,我们便完成了nacos的简单使用,配合上OpenFeign我们就可以实现简单的微服务应用的开发了。