Nacos 下载与安装
Nacos官方
官方入口:https://nacos.io/zh-cn/index.html
下载 Nacos
下载地址:https://github.com/alibaba/nacos/releases/
下载成功后,会得到一个名称为nacos-server-1.4.3.zip的文件,解压后的目录结构如下:
- bin:存放启动和关闭Nacos Server的脚本文件
- conf:Nacos Server的配置目录
- target:Nacos Server的Jar包存放目录
还有两个文件夹,会在启动Nacos之后生成。
- data:Nacos数据目录,Nacos默认使用Derby数据库
- logs:存放日志文件
启动Nacos
解压完成之后,进入bin目录下:
Nacos启动前,必须确保系统中已经安装了JDK环境,版本为JDK 8或者以上版本。
如果是Windows系统,点击startup.cmd即可启动。如果是Linux系统,可以使用命令行来启动,命令如下:
./startup.sh -m standalone
-m standalone 表示当前启动方式为单机版
启动后的日志输出内容如下:
"nacos is starting with standalone"
,--.
,--.'|
,--,: : | Nacos 1.4.3
,`--.'`| ' : ,---. Running in stand alone mode, All function modules
| : : | | ' ,'\ .--.--. Port: 8848
: | \ | : ,--.--. ,---. / / | / / ' Pid: 17712
| : ' '; | / \ / \. ; ,. :| : /`./ Console: http://172.25.34.239:8848/nacos/index.html
' ' ;. ;.--. .-. | / / '' | |: :| : ;_
| | | \ | \__\/: . .. ' / ' | .; : \ \ `. https://nacos.io
' : | ; .' ," .--.; |' ; :__| : | `----. \
| | '`--' / / ,. |' | '.'|\ \ / / /`--' /
' : | ; : .' \ : : `----' '--'. /
; |.' | , .-./\ \ / `--'---'
'---' `--`---' `----'
2023-10-30 14:31:27,009 INFO Bean 'org.springframework.security.access.expression.method.DefaultMethodSecurityExpressionHandler@508dec2b' of type [org.springframework.security.access.expression.method.DefaultMethodSecurityExpressionHandler] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2023-10-30 14:31:27,015 INFO Bean 'methodSecurityMetadataSource' of type [org.springframework.security.access.method.DelegatingMethodSecurityMetadataSource] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2023-10-30 14:31:27,600 INFO Tomcat initialized with port(s): 8848 (http)
2023-10-30 14:31:28,238 INFO Root WebApplicationContext: initialization completed in 3431 ms
2023-10-30 14:31:31,121 INFO Initializing ExecutorService 'applicationTaskExecutor'
2023-10-30 14:31:31,212 INFO Adding welcome page: class path resource [static/index.html]
2023-10-30 14:31:31,541 INFO Creating filter chain: Ant [pattern='/**'], []
2023-10-30 14:31:31,569 INFO Creating filter chain: any request, [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@25ddbbbb, org.springframework.security.web.context.SecurityContextPersistenceFilter@d5ae57e, org.springframework.security.web.header.HeaderWriterFilter@274872f8, org.springframework.security.web.csrf.CsrfFilter@3faf2e7d, org.springframework.security.web.authentication.logout.LogoutFilter@6e16b8b5, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@7e242b4d, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@1d1f7216, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@1536602f, org.springframework.security.web.session.SessionManagementFilter@410ae9a3, org.springframework.security.web.access.ExceptionTranslationFilter@569bf9eb]
2023-10-30 14:31:31,659 INFO Initializing ExecutorService 'taskScheduler'
2023-10-30 14:31:31,676 INFO Exposing 2 endpoint(s) beneath base path '/actuator'
2023-10-30 14:31:31,750 INFO Tomcat started on port(s): 8848 (http) with context path '/nacos'
2023-10-30 14:31:31,860 INFO Nacos started successfully in stand alone mode. use external storage
2023-10-30 14:53:53,586 INFO Initializing Servlet 'dispatcherServlet'
2023-10-30 14:53:53,593 INFO Completed initialization in 7 ms
从日志输出的内容中,可以清楚的看到,Nacos的Logo、启动端口(8848)、访问地址(/nacos/index.html)、运行模式(单机)、持久化的方案(外部存储)
启动后可以直接访问:http://localhost:8848/nacos/index.html
登录用户名称和密码均为nacos,当然也可以自行修改账号名和密码。
默认情况下,Nacos Server并不会对客户端进行鉴权操作。任何能访问Nacos Server的用户,都可以直接获取Nacos中存储的配置。同时,部分读者也留言说可以随意在配置文件中填写spring.cloud.nacos.username和spring.cloud.nacos.password两个参数的值,都能够成功将服务注册到Nacos中,亦是未开启鉴权导致的。开启Nacos Server的鉴权并不复杂,只需要在安装目录的conf文件夹里application.properties中将nacos.core.auth.enabled参数的值修改为true,然后重启Nacos Server即可。
Nacos控制的界面如下:
修改Nacos持久化配置
Nacos默认的落盘方式是嵌入式数据库Derby数据库,Nacos的登录信息、服务元数据、配置中心的数据、权限控制的配置信息都会存储在这里。为了方便后期优化和方便管理,通常会选择一个外部的数据库。
目前Nacos官方推荐的外部数据库方案为MySQL。官方支持也比较友好,如果想要替换为MySQL数据库的话只需要修改几行配置文件即可。如果想要用其它数据库,可能需要自行修改Nacos源码,这里就不推荐了。未来Nacos可能会支持更多数据库,耐心等待吧。
打开conf目录下的application.properties文件,这是Nacos Server启动和运行的核心配置文件。如下图所示,为Nacos Server的部分默认配置项,包括contextPath、port和数据库方案。
修改Nacos持久化配置直接在这个文件中进行,主要有三处内容需要修改:
- 数据库方案:spring.datasource.platform=mysql 这行配置默认情况下是被注释的,将这行注释放开指定数据库方案为mysql
- 数据库的数量:放开db.num=1这一行的注释
- JDBC连接信息:将db.url.0、db.user.0和db.password.0这三项换成自己的数据库连接信息即可。
修改完数据库配置项之后,接下来需要到MySQL数据库中创建Nacos所需的数据库Schema和数据库表。步骤如下:
第一步,创建database
启动并登录MySQL数据库,创建名称为nacos(可以是任意名称,自行定义即可)的database,命令如下:
CREATE SCHEMA `newbee_nacos_config` DEFAULT CHARACTER SET utf8 ;
第二步,导入nacos-mysql.sql文件
该文件在Nacos安装包中的conf目录下找到对应sql,如下图所示:
直接将其导入到刚刚创建的nacos数据库中即可。导入成功后就能够看到这些Nacos Server所需要的表了,如下图所示,共12张表
重启Nacos Server。命令行如下:
# 先关闭
./shutdown.sh
# 再启动
./startup.sh -m standalone
进入Nacos控制台,一切正常,则表示修改成功。