可以使用2种方式运行单机模式的Nacos服务:编译后的压缩包,从源码启动。
如下示例基于MySQL数据库。
基于编译后的压缩包启动Nacos服务
下载最新的nacos-server-2.2.3稳定版并解压:
$ unzip nacos-server-$version.zip 或者 tar -xvf nacos-server-$version.tar.gz
$ cd nacos # 解压后的目录不带版本号
第一步:根据conf/mysql-schema.sql
文件的ddl语句准备数据库及其表。
mysql> create database nacos DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
mysql> use nacos
mysql> source D:\\opt\\nacos\\conf\\\mysql-schema.sql
第二步:修改conf/application.properties
文件中的相应参数(需要删除注释并进行修改)
spring.datasource.platform=mysql
db.num=1
db.url.0=jdbc:mysql://127.0.0.1:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
db.user.0=nacos
db.password.0=nacos
进入到bin目录下启动nacos服务:
# Linux/Unix/Mac
sh startup.sh -m standalone
# 如果是ubuntu系统,或者运行脚本报错提示“符号找不到”,可尝试如下运行
bash startup.sh -m standalone
# Windows
startup.cmd -m standalone
如果启动成功,将会在控制台看到如下日志信息:
2024-03-24 13:30:22,590 INFO Tomcat started on port(s): 8848 (http) with context path '/nacos'
2024-03-24 13:30:22,606 INFO Nacos started successfully in stand alone mode. use external storage
基于源码方式启动Nacos服务
下载nacos-server-2.2.3源码包并解压,并在IDEA编辑器中打开源码。
首先,根据distribution\conf\mysql-schema.sql
文件中的ddl语句准备好对应的MySQL数据库表环境。
其次,找到console模块,修改该模块下的application.properties
文件参数:
spring.sql.init.platform=mysql
db.num=1
db.url.0=jdbc:mysql://127.0.0.1:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
db.user=nacos
db.password=nacos
进入到console模块中的Nacos
类,该类是Nacos服务的启动入口,添加JVM参数:-Dnacos.standalone=true
并运行。
如果启动成功,将会在IDEA的运行窗口中看到如下日志:
2024-03-24 14:04:45.550 INFO 113020 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8848 (http) with context path '/nacos'
2024-03-24 14:04:45.577 INFO 113020 --- [ main] c.a.n.c.l.StartingApplicationListener : Nacos started successfully in stand alone mode. use external storage
2024-03-24 14:04:45.821 INFO 113020 --- [192.168.129.235] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet'
2024-03-24 14:04:45.823 INFO 113020 --- [192.168.129.235] o.s.web.servlet.DispatcherServlet : Completed initialization in 2 ms
验证服务注册&发现和配置管理
服务注册:
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"
【参考】
IntelliJ IDEA中运行Nacos官方源码