首先我们得先知道Nacos可以用来做配置中心以及服务的注册和发现。
1.搭建项目
我们使用idea自带的spring Initializr来创建项目:
其他的依赖不都说了,滑到最底下,注意此时的springboot的版本,切记,不然高版本会出现选不了的情况:
选择这三个(sentinel可选可不选,如果需要做降级熔断就需要选上)
之后创建自己的项目即可。
2.搭建Linux环境
下载地址:Nacos,本人的版本号为1.2.1的版本,尽量保持一致。
使用xftp将Nacos拖动到Linux环境下,本人的目录位置为/usr/local/cocowwy:
执行命令解压:
tar -zxvf nacos-server-1.2.1.tar.gz
接下来这一步是配置Nacos的持久化,需要配置MySQL数据库,如果不知道怎么配置的同学,猛戳这里!Linux下的MySQL环境搭建!
此时我们已经安装好数据库了,注意版本需要5.6.5+
首先我们cd到nacos的conf目录里面,可以看到有如下几个文件:
接下来执行命令:
vim application.properties
编辑文件,加上如下信息,注意数据库的账号密码端口号(默认3306)改成自己的:
spring.datasource.platform = mysql
db.num = 1
db.url.0 = jdbc:mysql://127.0.0.1:3306/nacos_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
db.user=root
db.password=xxxxxx
wq!保存修改并退出之后,接下来我们还得为我们的数据库新增一个nacos_config的数据库,为了避免麻烦,我们就在windows上远程连接服务器上的mysql进行创建操作,这里我使用的工具是DataGrip:
首先在自己的数据库里面执行命令:
命令如下:
create database nacos_config
可以看到数据库已经建好啦:
接下来我们可以看到我们的/usr/local/cocowwy/nacos/conf目录下有个nacos-mysql的sql文件,这里我们使用xftp打开该文件:
文件内容如下:
然后复制全部内容,在刚刚创建完的数据库下面执行全部命令:
点击执行:
如此,Nacos的持久化已经配置完毕!
接下来启动我们的Nacos:
cd进nacos的bin目录下面:
cd /usr/local/cocowwy/nacos/bin
在此处执行命令,意为单机版启动,并附上关闭命令,启动的话使用上面这条就可以了:
./startup.sh -m standalone #该命令为启动命令
./shutdown.sh #该命令为关闭命令
如此我们可以看到我们的Nacos已经启动了,访问地址可在本机的url里面输入:http://此处填写自己服务器的IP:8848/nacos/
账户名和密码均为nacos。
如果任然访问不到的,可能是服务器安全组和防火墙的问题,去配置一下即可!
3.配置以及服务发现
首先在我们的启动类上添加注解:
@EnableDiscoveryClient
打开我们创建好的项目,并且将application改名为bootstrap
添加一下配置即可:
spring:
application:
name: orange-api(这里填写自己的服务名)
cloud:
nacos:
config:
server-addr: 自己服务器的IP:8848
file-extension: yaml
discovery:
server-addr: 自己服务器的IP:8848
profiles:
active: dev
之后打开我们的nacos新增如下配置:
其中dataId为上面的applicatio的name后面拼接一个 - 然后加上 profiles的active,按照本人上面的配置,则取名为:orange-api-dev.yaml
这里我们新增一个配置,server port配置,注意yml的语法格式!可以先在idea里面输入完再复制过去则不会发生语法错误。
server:
port: 8888
点击保存发布即可:
之后我们启动项目,如果项目启动的端口号正为我们所配置的8888,那么就代表读取配置生效了。
可以看到项目正常启动,故读取nacos配置正常。
接着我们可以打开nacos控制台
可以看到我们的服务已经注册上去了
至此Naocs 在Linux环境下单机版以及实现服务的配置和发现已经完成!