Nacos3.0源码打包和启动
Nacos源码打包和启动
根据Nacos开源协议(Apache License 2.0)的规定,您有权对Nacos源码进行修改和重新打包,但在进行这些操作时需确保遵守其许可证要求,比如保留原有版权和许可声明。
在对Nacos源码进行打包之前,需要明确Nacos3.0将原有的server和console两个部分归一化到bootstrap一个模块统一管理。所以后续可以通过选择nacos.deployment.type
参数为以下三种值进行控制启动模式
参数值 | 描述 |
---|---|
merged | server和console都启动 |
server | 仅启动server |
console | 仅启动console |
下面开始正式讲述基于Nacos3.0源码结构进行打包的一般步骤,为方便与本机Nacos3.0程序数据互通,本文采用mysql作为数据库。步骤如下:
步骤一:拉取Nacos3.0源码
从Nacos的GitHub仓库中克隆源码到本地。您可以使用如下Git命令完成这一操作:
git clone https://github.com/alibaba/nacos.gitcd nacos
步骤二:构建必备的环境
构建Nacos3.0的必要环境包括:
- 64 bit OS,支持Liunx/Unix/Mac/Windows,执行测试代码推荐选用 Linux/Unix/Mac
- 64 bit JDK 17+;下载&安装
- maven;推荐采用3.3.9及以上版本
- 由于本文采用mysql数据库,请确保已安装mysql数据库并启动。
验证上述环境是否安装成功,执行如下命令:
java -versionmvn -vmysql -V
步骤三:打包Nacos3.0
进入Nacos项目的bootstrap目录下执行Maven命令编译并打包Nacos的console和server端的代码。这将会生成一个可执行的jar包(nacos-server.jar
)在bootstrap/target
目录下。
具体命令如下:
cd nacos/bootstrapmvn clean package -Prelease-nacos
步骤四:验证jar包是否正确
解压nacos-server.jar
可以看到BOOT-INF
目录则说明该jar包为可执行jar包
# 解压 JAR 包到指定目录mkdir myjar && cd myjarjar 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
,启动命令如下:
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数据库地址、用户名、密码等)
---------------
参考链接
---------------