跳转到内容
Nacos3.0开源开发者沙龙·杭州站 Agent & MCP专场 PPT 下载点此了解

Nacos3.0源码打包和启动

Nacos源码打包和启动

根据Nacos开源协议(Apache License 2.0)的规定,您有权对Nacos源码进行修改和重新打包,但在进行这些操作时需确保遵守其许可证要求,比如保留原有版权和许可声明。 在对Nacos源码进行打包之前,需要明确Nacos3.0将原有的server和console两个部分归一化到bootstrap一个模块统一管理。所以后续可以通过选择nacos.deployment.type参数为以下三种值进行控制启动模式

参数值描述
mergedserver和console都启动
server仅启动server
console仅启动console

下面开始正式讲述基于Nacos3.0源码结构进行打包的一般步骤,为方便与本机Nacos3.0程序数据互通,本文采用mysql作为数据库。步骤如下:

步骤一:拉取Nacos3.0源码

Nacos的GitHub仓库中克隆源码到本地。您可以使用如下Git命令完成这一操作:

Terminal window
git clone https://github.com/alibaba/nacos.git
cd nacos

步骤二:构建必备的环境

构建Nacos3.0的必要环境包括:

  1. 64 bit OS,支持Liunx/Unix/Mac/Windows,执行测试代码推荐选用 Linux/Unix/Mac
  2. 64 bit JDK 17+;下载&安装
  3. maven;推荐采用3.3.9及以上版本
  4. 由于本文采用mysql数据库,请确保已安装mysql数据库并启动。

验证上述环境是否安装成功,执行如下命令:

Terminal window
java -version
mvn -v
mysql -V

步骤三:打包Nacos3.0

进入Nacos项目的bootstrap目录下执行Maven命令编译并打包Nacos的console和server端的代码。这将会生成一个可执行的jar包(nacos-server.jar)在bootstrap/target目录下。

具体命令如下:

Terminal window
cd nacos/bootstrap
mvn clean package -Prelease-nacos

步骤四:验证jar包是否正确

解压nacos-server.jar可以看到BOOT-INF目录则说明该jar包为可执行jar包

Terminal window
# 解压 JAR 包到指定目录
mkdir myjar && cd myjar
jar xvf ../nacos-server.jar
# 进入解压后的目录
cd myjar
# 查看目录结构(`-l` 显示详细信息,`-d` 仅显示目录)
ls -ld BOOT-INF

步骤五:以merged模式启动Nacos-bootstrap

Nacos/bootstrap/src/main/resources/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=${MYSQL_USERNAME}
db.password=${MYSQL_PASSWORD}

启动Nacos-bootstrap,并指定nacos.deployment.type参数为merged,启动命令如下:

Terminal window
java -jar target/nacos-server.jar --nacos.mode=standalone --nacos.core.auth.server.identity.key=${key} --nacos.core.auth.server.identity.value=${value} --nacos.core.auth.plugin.nacos.token.secret.key=${secret_key}

其中${key}${value}为服务端身份认证的参数,${secret_key}为自定义的token,token为用户名密码生成JWT Token的密钥(原串要32位以上,之后做base64格式化)。

步骤六:验证Nacos-bootstrap是否启动成功

在浏览器中访问http://127.0.0.1:8080,如果出现登录页面面则说明Nacos-bootstrap启动成功。

解释

上述步骤从拉取Nacos源码开始,到打包Nacos-bootstrap并启动nacos-server.jar。整个过程中,我们遵循了开源协议的要求,未对原始版权信息做出任何修改或删除。通过直接运行打包好的jar文件,可以方便地启动Nacos Server,Nacos console进行测试或部署。

值得提一下的是,在实际操作过程中您可能要根据自己的需求适当更改命令和配置文件中内容(如本文外联的mysql数据库地址、用户名、密码等)

---------------

参考链接

如何对Nacos源码进行打包

---------------

相关项目

Nacos