# 配置中心配置说明

配置中心是指项目中的config-server工程,config-server有一个application.properties配置,在这个配置文件中指向配置了mysql,redis等配置的application.yml配置。

# 配置方式

这里提供配置中心的两种配置方式,一种是指向远端的git仓库(k8s推荐),一种是指向本地的普通目录(非k8s推荐)。

# 指向远端git仓库:

spring.cloud.config.server.git.uri=your-git-uri #你的git仓库路径
spring.cloud.config.server.git.username=your-username #你的用户名
spring.cloud.config.server.git.password=your-password #你的密码
spring.cloud.config.label=master #分支
1
2
3
4

# 指向本地的普通目录

这样配置,修改b2b2c-config中application.yml等配置后,不再需要git add 和git commit

spring.profiles.active=native
spring.cloud.config.server.native.search-locations=/opt/source/shoptnt-config
1
2

# 运行环境

支持三种运行环境:

dev(开发环境)

test(测试环境) 注意:测试环境供junit测试使用,使用前端访问后端api时不适用

prod(生产环境)

由每个api的bootstrap.yml 中的profile决定,如下图是consumer的bootstrap.yml:

spring:
  application:
    name: consumer
  cloud:
    config:
      uri: http://localhost:8888
      label: master
      profile: dev #这里标注了读取开发环境的配置
server:
  port: 6001
1
2
3
4
5
6
7
8
9
10

# 文件说明

文件名 说明 必须
application.yml 公用的配置文件,做为所有配置的基础
application-dev.yml 开发环境配置文件,会覆盖application.yml,重叠部分以application-dev.yml为准,缺少部分以application.yml为准,所以这里可以只定义dev环境的个性化部分
application-test.yml 测试环境配置文件,会覆盖application.yml,重叠部分以application-test.yml为准,缺少部分以application.yml为准,所以这里可以只定义test环境的个性化部分
application-prod.yml 生产环境配置文件,会覆盖application.yml,重叠部分以application-prod.yml为准,缺少部分以application.yml为准,所以这里可以只定义生产环境的个性化部分

# mysql配置

datasource:
    url: jdbc:mysql://localhost:3306/demo?useUnicode=true&characterEncoding=utf8&autoReconnect=true
    username: root
    password: root
    driver-class-name: com.mysql.jdbc.Driver
    druid:
      web-stat-filter:
        enabled: false
      goods:
        url: jdbc:mysql://localhost:3306/goods?useUnicode=true&characterEncoding=utf8&autoReconnect=true

      member:
        url: jdbc:mysql://localhost:3306/member?useUnicode=true&characterEncoding=utf8&autoReconnect=true

      sss:
        url: jdbc:mysql://localhost:3306/statistics?useUnicode=true&characterEncoding=utf8&autoReconnect=true

      system:
        url: jdbc:mysql://localhost:3306/system?useUnicode=true&characterEncoding=utf8&autoReconnect=true

      trade:
        url: jdbc:mysql://localhost:3306/trade?useUnicode=true&characterEncoding=utf8&autoReconnect=true

      distribution:
        url: jdbc:mysql://localhost:3306/distribution?useUnicode=true&characterEncoding=utf8&autoReconnect=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

# RabbitMq配置

# 非集群方式

  rabbitmq:
    host: 192.168.2.10
    port: 5672
    username: your-username 
    password: your-password
    virtual-host: / #你的租户目录
1
2
3
4
5
6

通过我们的docker镜像部署的默认配置:

username: guest password: guest virtual-host: /

注意:不推荐使用guest用户

# elasticsearch配置

无密码:

  data: 
    elasticsearch:
      cluster-name: docker-cluster
      cluster-nodes: ip1:9300,ip2:9300
      index-name: shoptnt
1
2
3
4
5

通过我们的docker镜像部署的默认配置:

cluster-name: docker-cluster

index-name:随便写,但是需要和部署程序初始化的index name一致

auto_create_index: 自动创建索引。

有密码:

 data: 
    elasticsearch:
      cluster-name: elasticsearch-cluster
      cluster-nodes: ip1:9300,ip2:9300
      xpack: 
         security: 
            user: username:password
1
2
3
4
5
6
7

注:基于swarm式的可伸缩式集群,上述ip只需要配置为所有swarm node的ip即可

# 日志等级设置

可修改为DEBUG,INFO,ERROR等,对应不同的日志量

logging:
  config: classpath:logback-custom.xml #日志文件自定义名
  # 可独立的日志ES
  es:
    action: 
      auto_create_index: true
    cluster-name: docker-cluster
    cluster-nodes: 127.0.0.1:9300
    xpack: 
       security: 
          user: 
  level:
    org.springframework: ERROR
    com.enation.app : ERROR
1
2
3
4
5
6
7
8
9
10
11
12
13
14

# Redis配置

#redis 配置
redis:
  type: standalone
  config :
    type: manual
  host: localhost
  port: 6379
  password:
  maxIdle: 500
  maxTotal: 500
  maxWaitMillis: -1    
1
2
3
4
5
6
7
8
9
10
11

# 超时设置,是否为示例站点,是否开启https

超时设置以秒为单位

timeout:
  accessTokenTimeout:  1200  #登录权限超时
  refreshTokenTimeout: 1800  #登录权限更新超时
  captchaTimout:  120        #图片验证码超时
  smscodeTimout: 120         #短信验证码超时
isDemoSite: no               #是否是示例站点
ssl: off                     #是否开启https
1
2
3
4
5
6
7

# XXL-Job配置说明

xxl:
  job:
    admin:
      addresses:  http://ip:8080/xxl-job-admin
    executor:
      appname: timing-job-execute 
      ip: 
      port: 6999
      logpath:  /opt/xxl-serverlogs
      logretentiondays: -1
1
2
3
4
5
6
7
8
9
10

# 域名配置

domain:
    buyer: buyer.domain.com					#买家端访问域名
    mobileBuyer: m.buyer.domain.com			#手机端买家访问域名
    callback: api.buyer.domain.com          #支付回调地址,后端buyer-api域名
1
2
3
4

注:此处配置涉及到支付和信任登录,属于必要配置!

# referer配置

关闭referer配置:

shoptnt:
	referer: 
	  checked: false
1
2
3

开启referer配置:

shoptnt:
    referer:
      - '*.shoptnt.cn' #前端ui的域名可以用*开头
      - '192.168.2.13'
1
2
3
4

如pc端pc.shoptnt.cn,wap端wap.shoptnt.cn,则可以用*.shoptnt.cn配置,如果主域名不同,则可配置多个

小程序与支付宝同步回调referer配置,必要的配置,否则相关功能无法使用

shoptnt:    
    referer:
        - 'servicewechat.com'  #小程序referer
        - '*.alipay.com' 	   #支付宝同步回调 referer
        - '*.weixin.qq.com'    
1
2
3
4
5

# Token加密秘钥

javashop:
	token-secret: 123456
1
2

# 文件上传限制

文件上传限制,适配小视频上传,小视频上传前端限制最大20M

# 上传文件大小上限设置
spring:
  servlet:
    multipart:
      enabled: true
      max-file-size: 25MB
      max-request-size: 25MB
1
2
3
4
5
6
7

说明:如果nginx中有限制,也需要相应的修改