• 若依3.x.x版本环境搭建


    一、3.6.1

    1. nacos

    1. nacos-v2.1.2

    1.docker

    docker  run \
    --name nacos-v2.1.2 -d \
    -p 8848:8848 -p 9848:9848 -p 9849:9849 \
    --privileged=true \
    --restart=always \
    -e JVM_XMS=256m \
    -e JVM_XMX=256m \
    -e MODE=standalone \
    -e PREFER_HOST_MODE=ip \
    -e SPRING_DATASOURCE_PLATFORM=mysql \
    -e MYSQL_SERVICE_HOST=192.168.0.23 \
    -e MYSQL_SERVICE_PORT=3306 \
    -e MYSQL_SERVICE_USER=root \
    -e MYSQL_SERVICE_PASSWORD=root \
    -e MYSQL_SERVICE_DB_NAME=ry-config \
    -e TIME_ZONE='Asia/Shanghai' \
    -v /mydata/nacos/logs:/home/nacos/logs \
    -v /mydata/nacos/conf:/home/nacos/conf \
    -v /mydata/nacos/data:/home/nacos/data \
    nacos/nacos-server:v2.1.2
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20

    2. application.properties

    # spring
    server.servlet.contextPath=${SERVER_SERVLET_CONTEXTPATH:/nacos}
    server.contextPath=/nacos
    server.port=${NACOS_APPLICATION_PORT:8848}
    server.tomcat.accesslog.max-days=30
    server.tomcat.accesslog.pattern=%h %l %u %t "%r" %s %b %D %{User-Agent}i %{Request-Source}i
    spring.datasource.platform=${SPRING_DATASOURCE_PLATFORM:""}
    nacos.cmdb.dumpTaskInterval=3600
    nacos.cmdb.eventTaskInterval=10
    nacos.cmdb.labelTaskInterval=300
    nacos.cmdb.loadDataAtStart=false
    db.num=${MYSQL_DATABASE_NUM:1}
    db.url.0=jdbc:mysql://${MYSQL_SERVICE_HOST}:${MYSQL_SERVICE_PORT:3306}/${MYSQL_SERVICE_DB_NAME}?${MYSQL_SERVICE_DB_PARAM:characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useSSL=false}
    db.url.1=jdbc:mysql://${MYSQL_SERVICE_HOST}:${MYSQL_SERVICE_PORT:3306}/${MYSQL_SERVICE_DB_NAME}?${MYSQL_SERVICE_DB_PARAM:characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useSSL=false}
    db.user=${MYSQL_SERVICE_USER}
    db.password=${MYSQL_SERVICE_PASSWORD}
    ### The auth system to use, currently only 'nacos' and 'ldap' is supported:
    nacos.core.auth.system.type=${NACOS_AUTH_SYSTEM_TYPE:nacos}
    ### worked when nacos.core.auth.system.type=nacos
    ### The token expiration in seconds:
    nacos.core.auth.plugin.nacos.token.expire.seconds=${NACOS_AUTH_TOKEN_EXPIRE_SECONDS:18000}
    ### The default token:
    nacos.core.auth.plugin.nacos.token.secret.key=${NACOS_AUTH_TOKEN:SecretKey012345678901234567890123456789012345678901234567890123456789}
    ### Turn on/off caching of auth information. By turning on this switch, the update of auth information would have a 15 seconds delay.
    nacos.core.auth.caching.enabled=${NACOS_AUTH_CACHE_ENABLE:false}
    nacos.core.auth.enable.userAgentAuthWhite=${NACOS_AUTH_USER_AGENT_AUTH_WHITE_ENABLE:false}
    nacos.core.auth.server.identity.key=${NACOS_AUTH_IDENTITY_KEY:serverIdentity}
    nacos.core.auth.server.identity.value=${NACOS_AUTH_IDENTITY_VALUE:security}
    server.tomcat.accesslog.enabled=${TOMCAT_ACCESSLOG_ENABLED:false}
    # default current work dir
    server.tomcat.basedir=file:.
    ## spring security config
    ### turn off security
    nacos.security.ignore.urls=${NACOS_SECURITY_IGNORE_URLS:/,/error,/**/*.css,/**/*.js,/**/*.html,/**/*.map,/**/*.svg,/**/*.png,/**/*.ico,/console-fe/public/**,/v1/auth/**,/v1/console/health/**,/actuator/**,/v1/console/server/**}
    # metrics for elastic search
    management.metrics.export.elastic.enabled=false
    management.metrics.export.influx.enabled=false
    nacos.naming.distro.taskDispatchThreadCount=10
    nacos.naming.distro.taskDispatchPeriod=200
    nacos.naming.distro.batchSyncKeyCount=1000
    nacos.naming.distro.initDataRatio=0.9
    nacos.naming.distro.syncRetryDelay=5000
    nacos.naming.data.warmup=true
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44

    2.nacos-v1.x.x

    若依版本3.x.x 以下安装此nacos

    1.docker

    docker  run \
    --name nacos -d \
    -p 9848:8848 \
    --privileged=true \
    --restart=always \
    -e JVM_XMS=256m \
    -e JVM_XMX=256m \
    -e MODE=standalone \
    -e PREFER_HOST_MODE=hostname \
    -v /mydata/nacos/logs:/home/nacos/logs \
    -v /mydata/nacos/conf:/home/nacos/conf \
    -v /mydata/nacos/init.d/custom.properties:/home/nacos/init.d/custom.properties \
    nacos/nacos-server
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    2.custom.properties

    server.contextPath=/nacos
    server.servlet.contextPath=/nacos
    server.port=8848
    
    spring.datasource.platform=mysql
    #这里的数据库连接信息更改成我们前面准备好的nacos数据库
    db.num=1
    db.url.0=jdbc:mysql://192.168.0.23:3306/ry_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
    db.user=root
    db.password=root
    
    
    nacos.cmdb.dumpTaskInterval=3600
    nacos.cmdb.eventTaskInterval=10
    nacos.cmdb.labelTaskInterval=300
    nacos.cmdb.loadDataAtStart=false
    
    management.metrics.export.elastic.enabled=false
    
    management.metrics.export.influx.enabled=false
    
    
    server.tomcat.accesslog.enabled=true
    server.tomcat.accesslog.pattern=%h %l %u %t "%r" %s %b %D %{User-Agent}i
    
    
    nacos.security.ignore.urls=/,/**/*.css,/**/*.js,/**/*.html,/**/*.map,/**/*.svg,/**/*.png,/**/*.ico,/console-fe/public/**,/v1/auth/login,/v1/console/health/**,/v1/cs/**,/v1/ns/**,/v1/cmdb/**,/actuator/**,/v1/console/server/**
    nacos.naming.distro.taskDispatchThreadCount=1
    nacos.naming.distro.taskDispatchPeriod=200
    nacos.naming.distro.batchSyncKeyCount=1000
    nacos.naming.distro.initDataRatio=0.9
    nacos.naming.distro.syncRetryDelay=5000
    nacos.naming.data.warmup=true
    nacos.naming.expireInstance=true
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35

    2. mysql

    1.dockerr

    docker run -p 3306:3306 --name mysql \
    -v /mydata/mysql/log:/var/log/mysql \
    -v /mydata/mysql/data:/var/lib/mysql \
    -v /mydata/mysql/conf:/etc/mysql \
    -e MYSQL_ROOT_PASSWORD=root \
    -d mysql:5.7
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    2. 配置

    创建mysql配置文件,在/docker/mysql/conf下my.cnf

    # 在/docker/mysql/conf下my.cnf
    touch my.cnf
    # 添加配置
    vim /docker/mysql/conf/my.cnf
    [client]
    default-character-set=utf8
    
    [mysql]
    default-character-set=utf8
    
    [mysqld]
    init_connect='SET collation_connection = utf8_unicode_ci'
    init_connect='SET collation_connection = utf8_unicode_ci'
    init_connect='SET NAMES utf8'
    character-set-server=utf8
    collation-server=utf8_unicode_ci
    skip-character-set-client-handshake
    skip-name-resolve
    
    # 重启mysql容器
    docker restart mysql
    
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23

    3.redis

    1.docker

    docker run --restart=always -p 6379:6379 --name redis \
     -v /docker/redis/data:/data \
     -v /docker/redis/conf/redis.conf:/etc/redis/redis.conf \
     -d redis redis-server /etc/redis/redis.conf \
     --appendonly yes --requirepass redis
    
    • 1
    • 2
    • 3
    • 4
    • 5

    注:

    docker logs --since 30m redis
    ----------------------------
    WARNING overcommit_memory is set to 0! Background save may fail under low memory condition. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.
    
    • 1
    • 2
    • 3

    编辑主机的/etc/sysctl.conf文件,添加或者配置,保存

    vm.overcommit_memory = 1
    
    • 1

    重启Redis服务即可

    4.sentinel

    spring: 
      cloud:
        sentinel:
          transport:
            dashboard: 192.168.0.23:8718
          web-context-unify: false # 关闭context整合
    feign:
      sentinel:
        enabled: true # 开启feign对sentinel的支持
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    1)下载

    sentinel官方提供了UI控制台,方便我们对系统做限流设置。大家可以在GitHub下载。

    2)如果要修改Sentinel的默认端口、账户、密码,可以通过下列配置:

    配置项默认值说明
    server.port8080服务端口
    sentinel.dashboard.auth.usernamesentinel默认用户名
    sentinel.dashboard.auth.passwordsentinel默认密码

    例如,修改端口:

    java -Dserver.port=8090 -jar sentinel-dashboard-1.8.1.jar
    
    • 1

    5.其他

    1.其他

    # 1.修改每个bootstrap.yml的IP和端口
    # 2.导入数据
    # 3.启动nacos修改配置文件中的IP和端口
    # 4.前端页面的sentinel和nacos在前端的菜单设置里面修改
    # 5.sentinel整合,所需的微服务里添加sentinel配置
    
    • 1
    • 2
    • 3
    • 4
    • 5
  • 相关阅读:
    [ROS](10)ROS通信 —— 服务(Service)通信
    windows环境下qt-material-widget开源库的编译
    微信小程序-起步
    swift - 如何在数组大小更改后刷新 ForEach 显示元素的数量(SwiftUI、Xcode 11 Beta 5)
    小咖批量剪辑助手款视频批量自动剪辑软件
    ElasticSearch实现分词模糊查询
    [iOS]-Block
    【C】喝汽水,找单身狗问题
    蓝桥杯刷题(一)
    算法框架-LLM-1-Prompt设计(一)
  • 原文地址:https://blog.csdn.net/qq_41685731/article/details/127898360