目录

一、地址

二、数据库配置

2.1 postgresql

2.2 mysql

2.3 Derby(嵌入式数据库)

三、防火墙配置

四、部署

4.1 单机部署

4.2 集群部署

4.2.1 修改集群配置

4.2.2 配置 Nginx 负载均衡

4.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

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐