后端服务启动环境配置
- 微服务和单体部署包环境配置的区别
- 微服务部署包有4个服务文件夹下的配置文件要修改。其中business、oauth2server、platform要修改conf、config文件夹下的配置文件 gateway只需修改config文件夹下的配置文件。
- 单体部署包只需修改boot服务文件夹下的conf、config文件夹下的配置文件。
以下配置修改均以business服务为例。单体部署只需按照下面例子,修改boot文件夹下同名的配置文件。
首先指定服务的启动环境:
有
dev|test|prod
可选,本文档示例的环境为dev
。配置文件在对应服务的
config/application.yml
文件夹下。修改前:
spring: application: name: ibps-business-provider profiles: active: ${SPRING_PROFILES_ACTIVE:test} include: common,app
修改后:
spring: application: name: ibps-business-provider profiles: active: ${SPRING_PROFILES_ACTIVE:dev} # 修改位置 include: common,app
如配置文件指定的启动环境为
dev
,代表生效的是下图红框中对应的application-dev-xxxx.yml
的配置文件,test|prod
环境以此类推。
微服务
单体
修改后端数据源信息
根据上面配置的启动环境,修改
business、oauth2server、platform
的数据源配置文件。单体只许修改boot
的数据源配置文件。配置文件是对应的
conf/dataSorce-xxx.xml
文件,xxx
指的是配置的环境,则对应修改如下文件名dataSource-dev.xml
。dataSorce-xxx.xml文件为默认的mysql数据源配置文件,其它支持数据库配置文件为dataSorce-yyy-xxx.xml文件,yyy
为数据库名。以
business
为例,修改business/conf/dataSource-dev.xml
文件。
修改信息如下所示:
修改前:
```xml
<!-- dev下使用该链接 -->
<dbType>mysql</dbType>
<driver>com.mysql.jdbc.Driver</driver>
<driverUrl>jdbc:mysql://192.168.3.210:3306/ibps_tom_business?useUnicode=true&characterEncoding=utf-8</driverUrl>
<user>root</user>
<password>root</password>
```
修改后:
```xml
<!-- dev下使用该链接 -->
<dbType>mysql</dbType>
<driver>com.mysql.jdbc.Driver</driver>
<driverUrl>jdbc:mysql://127.0.0.1:3306/ibps_jerry?useUnicode=true&characterEncoding=utf-8</driverUrl> #修改位置
<user>admin</user> #修改位置
<password>admin</password> #修改位置
```
将对应的数据库服务的 IP
192.168.3.210
,端口3306
,数据库名ibps_tom_business
,账号root
,密码root
修改为你自己的数据库配置即可。
注意:oauth2server和platform服务的数据源使用的是platform数据库,business服务的数据源使用的是business数据库。单体boot服务的数据源要合并为一个boot数据库。执行mysql脚本
如果使用的不是MySQL数据库,还需要在
application-app.yml
中修改dbType为当前使用的数据库配置
授权文件替换
授权文件过期的话后端服务会宕机,服务也无法启动。
替换最新授权文件方法详见 部署FAQ
修改注册中心IP和端口
在V3.5.1 版本后默认注册中心为nacos
- 当默认注册中心为consul时
修改各个服务文件下的config/application-dev-consul.yml
文件,修改以下内容:
修改前:
consul:
serviceUrl:
defaultZone: ${CONSUL_SERVICEURL_DEFAULTZONE:http://192.168.3.230:18500}
spring:
cloud:
consul:
host: ${SPRING_CLOUD_CONSUL_HOST:192.168.3.230}
port: ${SPRING_CLOUD_CONSUL_PORT:18500}
discovery:
health-check-path: /health
health-check-interval: 20s
修改后:
consul:
serviceUrl:
defaultZone: ${CONSUL_SERVICEURL_DEFAULTZONE:http://127.0.0.1:8500} #修改位置 对应consul的IP地址和端口
spring:
cloud:
consul:
host: ${SPRING_CLOUD_CONSUL_HOST:127.0.0.1} # 修改位置 对应consul配置的IP地址
port: ${SPRING_CLOUD_CONSUL_PORT:8500} #修改位置 对应consul配置的端口
discovery:
health-check-path: /health
health-check-interval: 20s
- 当默认注册中心为nacos时
修改各个服务文件下的config/application-dev-nacos.yml
文件,修改以下内容:
修改前:
spring:
cloud:
nacos:
discovery:
server-addr: ${NACOS_SERVER_ADDR:192.168.3.230:8848}
# 填写命名空间ID!!!
namespace: ${NACOS_NAMESPACE:ibps_dev}
group: ${NACOS_GROUP:ibps_dev}
service: ${spring.application.name}
修改后:
spring:
cloud:
nacos:
discovery:
server-addr: ${NACOS_SERVER_ADDR:127.0.0.1:8848} # 修改位置 对应nacos服务配置的IP地址和端口号
# 填写命名空间ID!!!
namespace: ${NACOS_NAMESPACE:ibps_dev} #修改位置 填写nacos创建的命名空间ID
group: ${NACOS_GROUP:xxx} #修改位置 填写分组名
service: ${spring.application.name}
修改公用服务配置
邮箱配置:
配置文件是对应服务文件夹下的
/config/application-common.yml
文件。以
business
服务的配置文件路径为business/config/application-common.yml
邮箱配置内容如下所示:
修改前:
##---------邮箱配置--------- mail: notify-to: ${MAIL_NOTIFY_TO:} from-address: ${MAIL_FROM_ADDRESS:} host: ${MAIL_HOST:} mailAddress: ${MAIL_ADDRESS:} username: ${MAIL_USERNAME:} password: ${MAIL_PASSWORD:}
修改后:
##---------邮箱配置--------- mail: notify-to: ${MAIL_NOTIFY_TO:xxx@qq.cn} #修改位置 from-address: ${MAIL_FROM_ADDRESS:yyy@163.com} host: ${MAIL_HOST:smtp.163.com} mailAddress: ${MAIL_ADDRESS:yyy@163.com} username: ${MAIL_USERNAME:yyy} password: ${MAIL_PASSWORD:yyy}
MQ和redis配置:
- 配置文件是服务文件夹下的
/config/application-dev-base.yml
文件。
Rabbitmq有默认配置,可不用手动配置。若要手动配置,修改和新增以下内容:
rabbitmq: host: ${SPRING_RABBITMQ_HOST:127.0.0.1} # 修改 127.0.0.1改为真实rabbitmq的IP地址 port: ${SPRING_RABBITMQ_PORT:5672} # 修改 5672改为你真实rabbitmq的端口 username: ${SPRING_RABBITMQ_USERNAME:ibps} # 新增 ibps改为真实用户名,没有该属性时默认用户名为ibps password: ${SPRING_RABBITMQ_PASSWORD:ibps} # 新增 ibps改为为真实密码,没有该属性时默认密码为ibps@123 virtual-host: ${SPRING_RABBITMQ_VIRTUAL_HOST:/}
redis有默认配置,可不用手动配置。若要手动配置,修改以下内容:
redis: database: ${SPRING_REDIS_DATABASE:0} # 修改为所需的数据库值 host: ${SPRING_REDIS_HOST:127.0.0.1} # 127.0.0.1修改为真实redis的IP地址 port: ${SPRING_REDIS_PORT:6379} # 6379修改为真实redis的端口 password: ${SPRING_REDIS_PASSWORD:} # 如果redis设置密码请修改此处 ssl: ${SPRING_REDIS_SSL:false} timeout: ${SPRING_REDIS_TIMEOUT:3000} lettuce: pool: max-active: ${SPRING_REDIS_LETTUCE_POOL_MAX_ACTIVE:10} max-idle: ${SPRING_REDIS_LETTUCE_POOL_MAX_IDLE:5} max-wait: ${SPRING_REDIS_LETTUCE_POOL_MAX_WAIT:3000} min-idle: ${SPRING_REDIS_LETTUCE_POOL_MIN_IDLE:0}
- 配置文件是服务文件夹下的
也可通过修改app.bat文件,设置相关参数,具体可看FAQ中的说明。
配置fastdfs文件服务的IP和端口
配置文件位置:在
platform\config\application-[dev|test|prod]-fileserver.yml
文件。以dev环境为例,修改
platform\config\application-dev-fileserver.yml
文件。修改以下内容:
修改前:
fastdfs: common: tracker-servers: ${FILE_TRACKER_SERVER:192.168.3.207:22122}
修改后:
fastdfs: common: tracker-servers: ${FILE_TRACKER_SERVER:192.168.3.210:22122}
注意:fastdfs
暂不支持Windows
系统下安装部署,配置的地址和端口为fastdfs所在服务器的地址和端口。
socket端口配置
配置文件是
platform\config\application-[dev|test|prod]-socket.yml
。以dev环境为例,修改
platform\config\application-dev-socket.yml
文件。新增内容如下:
socket: port: 6888 # 对应所需端口,默认端口是15888
注意:前端代码部署时,基础配置中的platform服务的端口为这里所设置的端口。
授权文件替换
详见 部署FAQ