nacos2.2.3部署
·
目录
一、地址
nacos官网:https://nacos.io/
github地址:https://github.com/alibaba/nacos
二、数据库配置
Nacos从2.2.0版本开始,可通过SPI机制注入多数据源实现插件,并在引入对应数据源实现后,便可在Nacos启动时通过读取application.properties配置文件中spring.datasource.platform配置项选择加载对应多数据源插件。
2.1 postgresql
postgresql版本插件地址:https://github.com/nacos-group/nacos-plugin
导入nacos-pg.sql的脚本文件,脚本文件在nacos-postgresql-datasource-plugin-ext/src/main/resources/schema文件夹下面.

在解压的nacos目录下新建plugins文件夹
mkdir plugins
下载postgresql版本插件项目源码,并切换到对应版本的分支

打包成jar并把生成的jar放到新建的plugins文件夹下

# 修改配置文件
vim conf/application.properties
# 端口,默认8848
server.port=8848
# 指定postgresql数据库
spring.sql.init.platform=postgresql
db.num=1
db.url.0=jdbc:postgresql://127.0.0.1:5432/nacos?currentSchema=nacos&tcpKeepAlive=true&reWriteBatchedInserts=true
db.user.0=nacos
db.password.0=nacos
db.pool.config.driverClassName=org.postgresql.Driver
# 开启鉴权功能
nacos.core.auth.enabled=true
# 鉴权类型 nacos:默认用户系统(user_info、user_role 表)ldap:企业 LDAP 登录
nacos.core.auth.system.type=nacos
# 默认鉴权插件用于生成用户登陆临时accessToken所使用的密钥,原始长度 >=32 位并且 Base64 编码
nacos.core.auth.plugin.nacos.token.secret.key=SecretKey012345678901234567890123456789012345678901234567890123456789
# 用户登陆临时accessToken的过期时间
nacos.core.auth.plugin.nacos.token.expire.seconds=18000
# 是否使用useragent白名单,主要用于适配老版本升级,置为true时有安全风险
nacos.core.auth.enable.userAgentAuthWhite=false
# 用于替换useragent白名单的身份识别key
nacos.core.auth.server.identity.key=serverIdentity
# 用于替换useragent白名单的身份识别value
nacos.core.auth.server.identity.value=security
2.2 mysql
初始化mysql数据库,数据库初始化文件:conf/mysql-schema.sql
# 修改配置文件
vim conf/application.properties
# 端口,默认8848
server.port=8848
# 指定mysql数据库
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
# 开启鉴权功能
nacos.core.auth.enabled=true
# 鉴权类型 nacos:默认用户系统(user_info、user_role 表)ldap:企业 LDAP 登录
nacos.core.auth.system.type=nacos
# 默认鉴权插件用于生成用户登陆临时accessToken所使用的密钥,原始长度 >=32 位并且 Base64 编码
nacos.core.auth.plugin.nacos.token.secret.key=SecretKey012345678901234567890123456789012345678901234567890123456789
# 用户登陆临时accessToken的过期时间
nacos.core.auth.plugin.nacos.token.expire.seconds=18000
# 是否使用useragent白名单,主要用于适配老版本升级,置为true时有安全风险
nacos.core.auth.enable.userAgentAuthWhite=false
# 用于替换useragent白名单的身份识别key
nacos.core.auth.server.identity.key=serverIdentity
# 用于替换useragent白名单的身份识别value
nacos.core.auth.server.identity.value=security
2.3 Derby(嵌入式数据库)
# 修改配置文件
vim conf/application.properties
# 端口,默认8848
server.port=8848
# 开启鉴权功能
nacos.core.auth.enabled=true
# 鉴权类型 nacos:默认用户系统(user_info、user_role 表)ldap:企业 LDAP 登录
nacos.core.auth.system.type=nacos
# 默认鉴权插件用于生成用户登陆临时accessToken所使用的密钥,原始长度 >=32 位并且 Base64 编码
nacos.core.auth.plugin.nacos.token.secret.key=SecretKey012345678901234567890123456789012345678901234567890123456789
# 用户登陆临时accessToken的过期时间
nacos.core.auth.plugin.nacos.token.expire.seconds=18000
# 是否使用useragent白名单,主要用于适配老版本升级,置为true时有安全风险
nacos.core.auth.enable.userAgentAuthWhite=false
# 用于替换useragent白名单的身份识别key
nacos.core.auth.server.identity.key=serverIdentity
# 用于替换useragent白名单的身份识别value
nacos.core.auth.server.identity.value=security
三、防火墙配置
关闭防火墙或者开放端口
- 8848:主端口,客户端、控制台及OpenAPI所使用的HTTP端口
- 9848:与主端口的偏移量1000,客户端gRPC请求服务端端口,用于客户端向服务端发起连接和请求
- 9849:与主端口的偏移量1001,服务端gRPC请求服务端端口,用于服务间同步等
- 7848:与主端口的偏移量-1000,Jraft请求服务端端口,用于处理服务端间的Raft相关请求
# 开放端口
firewall-cmd --add-port=8848/tcp --permanent
firewall-cmd --add-port=9848/tcp --permanent
firewall-cmd --add-port=9849/tcp --permanent
firewall-cmd --add-port=7848/tcp --permanent
firewall-cmd --reload
# 关闭防火墙并设置开机不启动
systemctl stop firewalld
systemctl disable firewalld
四、部署
4.1 单机部署
# 单机启动
./bin/startup.sh -m standalone
# 关闭服务
./bin/shutdown.sh
4.2 集群部署
注意:3个或3个以上Nacos节点才能构成集群,集群部署不能使用内置Derby数据库
4.2.1 修改集群配置
# 复制集群配置文件
cp conf/cluster.conf.example conf/cluster.conf
# 配置集群配置文件(ip:port)
vim conf/cluster.conf
192.168.1.101:8848
192.168.1.102:8848
192.168.1.103:8848
# 启动
./bin/startup.sh
4.2.2 配置 Nginx 负载均衡

worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
upstream nacos_cluster {
server 192.168.1.101:8848;
server 192.168.1.102:8848;
server 192.168.1.103:8848;
}
server {
listen 80;
server_name localhost;
location / {
proxy_pass http://nacos_cluster;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_connect_timeout 10s;
proxy_read_timeout 300s;
proxy_send_timeout 300s;
}
}
}
4.2.3 访问
http://192.168.1.101/nacos
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐

所有评论(0)