以下测试基于Nacos 1.1.4
Nacos源码下载
支持Dubbo生态发展,阿里巴巴启动新的开源项目 Nacos
最简单的是下载压缩包用命令运行
Linux/Unix/Mac
启动命令(standalone代表着单机模式运行,非集群模式):
sh startup.sh -m standalone
如果您使用的是ubuntu系统,或者运行脚本报错提示[[符号找不到,可尝试如下运行:
bash startup.sh -m standalone
Windows
启动命令:
cmd startup.cmd
或者双击startup.cmd运行文件。
下载源码
git clone https://github.com/alibaba/nacos
源码目录:
运行源码服务端
- 将源码导入idea工具或者eclipse
- 修改启动参数
如果直接运行会出现问题,因为nacos启动有些默认配置,而且读取的是System.getProperty,因此需要在启动时加入系统参数设置!!!
注意事宜:一定要增加VM options:-Dnacos.standalone=true, 否则启动的是集群模式
如何启动nacos
路径
nacos\console\src\main\com\nacos\Nacos
进入nacos项目的console(控制台)下,
启动类: com.alibaba.nacos.Nacos
增加启动参数
-Dnacos.standalone=true
为什么这样修改参数,那就要查看源码了!!!SystemUtils类
/**
* The System property name of Standalone mode
*/
public static final String STANDALONE_MODE_PROPERTY_NAME = "nacos.standalone";
/**
* The key of nacos home.
*/
public static final String NACOS_HOME_KEY = "nacos.home";
/**
* 获取nacos配置目录,默认C:\Users\用户名\nacos
*/
private static String getNacosHome() {
String nacosHome = System.getProperty(NACOS_HOME_KEY);
if (StringUtils.isBlank(nacosHome)) {
nacosHome = System.getProperty("user.home") + File.separator + "nacos";
}
return nacosHome;
}
StartingSpringApplicationRunListener类
/**
* 如果单例模式=true,那么采用单机运行,否则是集群模式。
* */
@Override
public void environmentPrepared(ConfigurableEnvironment environment) {
if (STANDALONE_MODE) {
System.setProperty(MODE_PROPERTY_KEY_STAND_MODE, "stand alone");
} else {
System.setProperty(MODE_PROPERTY_KEY_STAND_MODE, "cluster");
}
if (FUNCTION_MODE == null) {
System.setProperty(MODE_PROPERTY_KEY_FUNCTION_MODE, "All");
} else if(SystemUtils.FUNCTION_MODE_CONFIG.equals(FUNCTION_MODE)){
System.setProperty(MODE_PROPERTY_KEY_FUNCTION_MODE, SystemUtils.FUNCTION_MODE_CONFIG);
} else if(SystemUtils.FUNCTION_MODE_NAMING.equals(FUNCTION_MODE)) {
System.setProperty(MODE_PROPERTY_KEY_FUNCTION_MODE, SystemUtils.FUNCTION_MODE_NAMING);
}
System.setProperty(LOCAL_IP_PROPERTY_KEY, LOCAL_IP);
}
采用MySQL数据库运行
首先新建数据库nacos_config,
数据库脚本在:
nacos\distribution\conf\nacos-mysql.sql
之后安装数据库
设置数据库连接
路径
nacos\console\src\main\resources\ application.properties
在console的resources目录下,添加application.properties文件
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=**
db.password=**
注:多数据源
数据库为mysql
spring.datasource.platform=mysql
数据库编号 因为可能配置有多数据源 主从
db.num=1
db.url.0=jdbc:mysql://192.168.138.134:3306/nacos_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
db.user.0=nacos
db.password.0=nacos
db.num=2
db.url.1=jdbc:mysql://192.168.138.134:3306/nacos_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
db.user.1=nacos
db.password.1=nacos
Debug模式运行程序,开启源码调试!
登录控制界面
当出现如上内容 nacos即成功启动,在浏览器输入:http://127.0.0.1:8848/nacos即可见到web管理后台
账户:nacos 密码:nacos
将项目打包发布
进入项目路径nacos,执行如下操作:
mvn -Prelease-nacos clean install -U -Dmaven.test.skip=true