1. 预备环境准备
请确保是在环境中安装使用:
- 64 bit OS Linux/Unix/Mac,推荐使用Linux系统。
- 64 bit JDK 1.8+;下载.配置。
- Maven 3.2.x+;下载.配置。
- 3个或3个以上Nacos节点才能构成集群。
2. 下载安装包
下载编译后压缩包方式
下载地址
nacos-server-2.2.2.zip包 或者 nacos-server-2.2.2.tar.gz包
# 执行对应的解压命令
unzip nacos-server-2.2.2.zip
tar -xvf nacos-server-2.2.2.tar.gz
也可以从 最新稳定版本 下载
nacos-server-$version.zip
包 或nacos-server-$version.tar.gz
。unzip nacos-server-$version.zip 或者 tar -xvf nacos-server-$version.tar.gz
cd nacos/bin
3. 修改nacos配置
3.1 初始化 MySQL 数据库
在Linux系统上执行SQL脚本,具体位置在nacos/conf/mysql-schema.sql
中,也可以从sql语句源文件下载。
create database nacos_config;
use nacos_config;
3.2 配置application.properties
修改nacos/conf/application.properties
application.properties配置文件
3.2.1 修改端口
server.port=8848
3.2.2 修改DB
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&useUnicode=true&useSSL=false&serverTimezone=UTC
db.user=root
db.password=123456
3.3 配置集群配置文件
cd nacos/conf
cp cluster.conf.example cluster.conf
#查看具体ip
ip a
配置nacos/conf/cluter.conf
,每行配置成ip:port
# 格式: ip地址:端口号
192.168.16.101:8848
192.168.16.102:8848
192.168.16.103:8848
4. Nginx配置
- nginx.conf
stream {
upstream nacos-cluster{
server 192.168.16.101:8848;
server 192.168.16.102:8848;
server 192.168.16.103:8848;
}
server {
listen 81;
location /nacos {
proxy_pass http://nacos-cluster;
}
}
}
5. 启动服务器
Stand-alone mode
Linux/Unix/Macsh startup.sh -m standalone
集群模式
使用内置数据源
sh startup.sh -p embedded
- 使用外置数据源
sh startup.sh
6. 代码配置
6.1 配置pom
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-alibaba-dependencies</artifactId>
<version>xxx</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<!--alibaba nacos discovery-->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
<version>xxx</version>
</dependency>
<!--alibaba nacos config-->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
<version>xxx</version>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-bootstrap</artifactId>
<version>xxx</version>
</dependency>
6.2 bootstrap.yml
spring:
application:
name: nacos-test
profiles:
active: dev
cloud:
nacos:
# nacos.core.auth.enabled=true 开启权限验证
# server-addr: 127.0.0.1:8848
# username: test
# password: 123456
discovery:
# nacos地址
# server-addr: 127.0.0.1:8848
# 换成nginx的81端口,做集群
server-addr: http://192.168.0.1:81
# 命名空间
namespace: dev1
# 分组名称
# group: DEFAULT_GROUP
config:
server-addr: 127.0.0.1:8848
# username: nacos
# password: nacos
# 命名空间,可区分不同项目或环境
namespace: dev1
# data-id: ${prefix}-${spring.profiles.active}.${file-extension}
# prefix 默认为 spring.application.name 的值,也可以通过配置项 spring.cloud.nacos.config.prefix来配置。
# 当 spring.profiles.active 为空时,对应的连接符 - 也将不存在,dataId 的拼接格式变成${prefix}.${file-extension}
# prefix: ${spring.application.name}
# data-id后缀
# file-exetension 为配置内容的数据格式,可以通过配置项 spring.cloud.nacos.config.file-extension 来配置。目前只支持 properties 和 yaml 类型
file-extension: yaml
# 分组名称
# group: DEFAULT_GROUP
# encode: UTF-8
# 修改后自动加载
refresh-enabled: true
# 允许nacos服务端向本地同步配置
# enable-remote-sync-config: true
# extension-configs:
# - data-id: common.yaml
# refresh: true
7. 关闭服务器
Linux/Unix/Mac
sh shutdown.sh