1.预备环境准备
Nacos 依赖 Java 环境来运行。如果您是从代码开始构建并运行Nacos,还需要为此配置 Maven环境,请确保是在以下版本环境中安装使用:
64 bit OS
,支持 Linux/Unix/Mac/Windows
,推荐选用 Linux/Unix/Mac
。64 bit JDK 1.8
+;下载 & 配置。Maven 3.2.x
+;下载 & 配置。
2.下载源码或者安装包
你可以通过源码和发行包两种方式来获取 Nacos。
从 Github 上下载源码方式
git clone https://github.com/alibaba/nacos.git
cd nacos/
mvn -Prelease-nacos -Dmaven.test.skip=true clean install -U
ls -al distribution/target/
// change the $version to your actual path
cd distribution/target/nacos-server-$version/nacos/bin
下载编译后压缩包方式
您可以从 最新稳定版本 下载 nacos-server-$version.zip 包。
3.启动服务器
Linux/Unix/Mac
启动命令(standalone
代表着单机模式运行,非集群模式):
sh startup.sh -m standalone
停止命令
bash shutdown.sh -m standalone
如果您使用的是ubuntu
系统,或者运行脚本报错提示[[符号找不到,可尝试如下运行:
bash startup.sh -m standalone
Windows
启动命令:
cmd startup.cmd
或者双击startup.cmd
运行文件。
4访问Nacos
地址:ip:8848/nacos
账号:nacos
密码:nacos
5.服务注册&发现和配置管理
服务注册
curl -X POST 'http://127.0.0.1:8848/nacos/v1/ns/instance?serviceName=nacos.naming.serviceName&ip=20.18.7.10&port=8080'
服务发现
curl -X GET 'http://127.0.0.1:8848/nacos/v1/ns/instance/list?serviceName=nacos.naming.serviceName'
发布配置
curl -X POST "http://127.0.0.1:8848/nacos/v1/cs/configs?dataId=nacos.cfg.dataId&group=test&content=HelloWorld"
获取配置
curl -X GET "http://127.0.0.1:8848/nacos/v1/cs/configs?dataId=nacos.cfg.dataId&group=test"
5.关闭服务器Linux/Unix/Mac
sh shutdown.sh
Windows
startup.cmd -m standalone
或者
cmd shutdown.cmd
或者双击shutdown.cmd
运行文件。
6修改为Nacos默认配置
修改${nacoshome}/conf/application.properties
文件
默认端口为8848,可以自定义其他端口
单机模式时nacos默认使用嵌入式数据库实现数据的存储,若想使用外部mysql存储nacos数据,需要进行以下步
骤:
1.安装数据库,版本要求:5.6.5+
,mysql 8
以下
2.初始化mysql数据库,新建数据库nacos_config
,数据库初始化文件:${nacoshome}/conf/nacos-mysql.sql
3.修改${nacoshome}/conf/application.properties
文件,增加支持mysql数据源配置(目前只支持
mysql),添加mysql
数据源的url
、用户名和密码。
在application.properties
文件底部加上这段配置
# db mysql
spring.datasource.platform=mysql
db.num=1
db.url.0=jdbc:mysql://47.101.132.72:3306/nacos_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
db.user=root
db.password=root
Linux安装Nacos Server和修改配置详细教程1.png
7java客户端配置Nacos
1添加group ID
为 com.alibaba.nacos
和 artifact ID
为 nacos-client
的 starter
。用于实现项目中使用 Nacos
来获取外部化配置
<dependency><groupId>com.alibaba.nacos</groupId>
<artifactId>nacos‐client</artifactId>
<version>1.1.3</version>
</dependency>
2实现应用的外部化配置。
新增java执行类,并在执行过程中获取配置信息:
import com.alibaba.nacos.api.NacosFactory;
import com.alibaba.nacos.api.config.ConfigService;
import com.alibaba.nacos.api.exception.NacosException;
import java.util.Properties;
public class SimpleDemoMainAppTest {
public static void main(String[] args) throws NacosException {
//nacos 地址
String serverAddr = "127.0.0.1:8848";
//Data Id
String dataId = "nacos‐simple‐demo.yaml";
//Group
String group = "DEFAULT_GROUP";
Properties properties = new Properties();
properties.put("serverAddr",serverAddr);
ConfigService configService = NacosFactory.createConfigService(properties);
//获取配置,String dataId, String group, long timeoutMs
String content = configService.getConfig(dataId, group, 5000);
System.out.println(content);
}
}
启动SimpleDemoMainAppTest
,控制台得到以下内容:
common:
config1: something
说明获取配置成功。