新手指南
O2OA开发平台的配置文件很多,有数十个,对于节点常用的包含中心服务、应用服务、web服务、h2数据库、ftp附件存储配置都在node_127.0.0.1.json文件中配置,本篇主要讲解对node_127.0.0.1.json配置内容。
1、从o2server/configSample目录复制node_127.0.0.1.json到o2server/config目录中,配置修改才生效。
2、修改配置后重启服务器即可。
1)WEB服务器端口修改
修改项:web.port (如果web节点没有port参数,可以直接添加port参数,默认值为80),如:
}, "web": { ... "port" : 8080, ... ... |
2)应用服务器端口修改
修改项:web.port (如果web节点没有port参数,可以直接添加port参数,默认值为20020),如:
}, "application": { ... "port" : 20020, ... ... |
3)中心服务器端口修改
修改项:web.port (如果web节点没有port参数,可以直接添加port参数,默认值为20030),如:
}, "center": { ... "port" : 20030, ... ... |
4)默认数据库服务器端口修改
修改项:web.port (如果web节点没有port参数,可以直接添加port参数,默认值为20050),如:
}, "data": { ... "port" : 20050, ... ... |
5)文件存储服务器端口修改
修改项:storage.port (如果web节点没有port参数,可以直接添加port参数,默认值为20040),如:
}, "storage": { ... "port" : 20040, ... ... |
修改项:data.enable(默认值为true,如果不启用则修改为false),如:
}, "data": { ... "enable" : true, ... ... |
修改项:storage.enable(默认值为true,如果不启用则修改为false),如:
}, "storae": { ... "enable" : true, ... ... |
修改项:autoStart(默认值为true,如果不启用则修改为false),如:
}, "autoStart" : true, ... |
修改项:logLevel(默认值为WARN,可以修改为 DEBUG|INFO|WARN|ERROR),如:
}, "logLevel" : WARN, ... |
修改项:dumpData和restoreData(默认不启用),如:
... "dumpData": { "enable": false, "cron": "", "size": 7.0, "path": "", "###enable": "是否启用,默认禁用.###", "###cron": "定时任务cron表达式,默认每天凌晨2点进行备份.###", "###size": "最大保留份数,超过将自动删除最久的数据.###", "###path": "备份路径###" }, "restoreData": { "enable": false, "cron": "", "path": "", "###enable": "是否启用.###", "###cron": "定时任务cron表达式###", "###path": "恢复路径###" }, ...
三、完整配置文件说明
{ "enable": true, "isPrimaryCenter": true, "center": { "enable": true, "order": 0.0, "sslEnable": false, "redeploy": true, "port": 20030.0, "httpProtocol": "", "proxyHost": "", "proxyPort": 20030.0, "scanInterval": 0.0, "configApiEnable": true, "statEnable": true, "statExclusions": "*.js,*.gif,*.jpg,*.png,*.css,*.ico", "maxFormContent": 20.0, "exposeJest": true, "requestLogEnable": false, "requestLogFormat": "", "requestLogRetainDays": 7.0, "requestLogBodyEnable": false, "persistentConnectionsEnable": true, "###enable": "是否启用###", "###order": "center节点顺序,顺序排列0,1,2...###", "###sslEnable": "是否启用ssl传输加密,如果启用将使用config/keystore文件作为密钥文件.使用config/token.json文件中的sslKeyStorePassword字段为密钥密码,sslKeyManagerPassword为管理密码.###", "###redeploy": "每次启动是否重新部署所有应用.###", "###port": "端口,center服务器端口,默认20030###", "###httpProtocol": "对外http访问协议,http/https###", "###proxyHost": "代理主机,当服务器是通过apache/nginx等代理服务器映射到公网或者通过路由器做端口映射,在这样的情况下需要设置此地址以标明公网访问地址.###", "###proxyPort": "代理端口,当服务器是通过apache/nginx等代理服务器映射到公网或者通过路由器做端口映射,在这样的情况下需要设置此地址以标明公网访问端口.###", "###scanInterval": "重新扫描war包时间间隔(秒)###", "###config": "其他参数###", "###configApiEnable": "允许通过Api修改config###", "###statEnable": "启用统计,默认启用统计.###", "###statExclusions": "统计忽略路径,默认忽略*.js,*.gif,*.jpg,*.png,*.css,*.ico###", "###maxFormContent": "最大提交数据限制(M),限制有所上传的内容大小,包括附件.###", "###exposeJest": "暴露jest接口.###", "###requestLogEnable": "启用访问日志功能.###", "###requestLogFormat": "访问日志记录格式.###", "###requestLogRetainDays": "访问日志记录天数,默认7天.###", "###requestLogBodyEnable": "访问日志是否记录post或者put的body内容,只对content-type为application/json的请求有效.###", "###persistentConnectionsEnable": "是否启用长连接,默认false.###" }, "application": { "enable": true, "port": 20020.0, "sslEnable": false, "proxyHost": "", "proxyPort": 20020.0, "redeploy": true, "scanInterval": 0.0, "includes": [], "excludes": [], "weights": [], "scheduleWeights": [], "statEnable": true, "statExclusions": "*.js,*.gif,*.jpg,*.png,*.css,*.ico", "maxFormContent": 20.0, "exposeJest": true, "maxThread": 500.0, "requestLogEnable": false, "requestLogFormat": "", "requestLogRetainDays": 7.0, "requestLogBodyEnable": false, "persistentConnectionsEnable": true, "###enable": "是否启用###", "###port": "http/https端口,负责向前端提供数据访问接口.默认为20020端口.###", "###sslEnable": "是否启用ssl传输加密,如果启用将使用config/keystore文件作为密钥文件.使用config/token.json文件中的sslKeyStorePassword字段为密钥密码,sslKeyManagerPassword为管理密码.###", "###proxyHost": "代理主机,当服务器是通过apache/nginx等代理服务器映射到公网或者通过路由器做端口映射,在这样的情况下需要设置此地址以标明公网访问地址.###", "###proxyPort": "代理端口,当服务器是通过apache/nginx等代理服务器映射到公网或者通过路由器做端口映射,在这样的情况下需要设置此地址以标明公网访问端口.###", "###redeploy": "每次启动是否重载全部应用.###", "###scanInterval": "应用reload扫描间隔,u003c0 表示不会reload应用,扫描到应用文件发生了变化.###", "###includes": "承载的应用,在集群环境下可以选择仅承载部分应用以降低服务器负载,可以使用*作为通配符.###", "###excludes": "选择不承载的应用,和includes的值配合使用可以选择或者排除承载的应用,可以使用*作为通配符.###", "###weights": "设置应用的Web访问权重,在集群环境中,一个应用可以部署多个实例提供负载均衡.通过合计占比来分配应用占比.###", "###scheduleWeights": "设置应用的定时任务权重,在集群环境中,一个应用可以部署多个实例提供负载均衡.通过合计占比来分配应用占比.###", "###statEnable": "启用统计,默认启用统计.###", "###statExclusions": "统计忽略路径,默认忽略*.js,*.gif,*.jpg,*.png,*.css,*.ico###", "###maxFormContent": "最大提交数据限制(M),限制有所上传的内容大小,包括附件.###", "###exposeJest": "暴露jest接口.###", "###maxThread": "最大http线程数.###", "###requestLogEnable": "启用访问日志功能.###", "###requestLogFormat": "访问日志记录格式.###", "###requestLogRetainDays": "访问日志记录天数,默认7天.###", "###requestLogBodyEnable": "访问日志是否记录post或者put的body内容,只对content-type为application/json的请求有效.###", "###persistentConnectionsEnable": "是否启用长连接,默认true.###" }, "web": { "enable": true, "sslEnable": false, "proxyHost": "", "weight": 100.0, "dirAllowed": false, "statEnable": false, "statExclusions": "*.gif,*.jpg,*.png,*.ico", "cacheControlMaxAge": 0.0, "persistentConnectionsEnable": true, "requestLogEnable": false, "requestLogFormat": "", "requestLogRetainDays": 7.0, "###enable": "是否启用###", "###port": "http/https端口,用户输入网址后实际访问的第一个端口.http协议默认为80端口,https默认为443端口.###", "###sslEnable": "是否启用ssl传输加密,如果启用将使用config/keystore文件作为密钥文件.使用config/token.json文件中的sslKeyStorePassword字段为密钥密码,sslKeyManagerPassword为管理密码.###", "###proxyHost": "代理主机,当服务器是通过apache/nginx等代理服务器映射到公网或者通过路由器做端口映射,在这样的情况下需要设置此地址以标明公网访问地址.###", "###proxyPort": "代理端口,当服务器是通过apache/nginx等代理服务器映射到公网或者通过路由器做端口映射,在这样的情况下需要设置此地址以标明公网访问端口.###", "###weight": "设置权重.当前没有作用,###", "###dirAllowed": "允许浏览目录,###", "###statEnable": "启用统计,默认启用统计.###", "###statExclusions": "统计忽略路径,默认忽略*.gif,*.jpg,*.png,*.ico###", "###cacheControlMaxAge": "服务器max-age缓存时间(秒)###", "###proxyCenterEnable": "是否启用center服务器代理.###", "###proxyApplicationEnable": "是否启用application服务器代理###", "###proxyTimeOut": "代理连接超时时间,默认300(秒)###", "###persistentConnectionsEnable": "是否启用长连接,默认true.###", "###requestLogEnable": "启用访问日志功能.###", "###requestLogFormat": "访问日志记录格式.###", "###requestLogRetainDays": "访问日志记录天数,默认7天.###" }, "data": { "enable": true, "tcpPort": 20050.0, "webPort": 20051.0, "includes": [], "excludes": [], "jmxEnable": false, "cacheSize": 512.0, "logLevel": "WARN", "maxTotal": 50.0, "maxIdle": 0.0, "statEnable": false, "statFilter": "mergeStat", "slowSqlMillis": 2000.0, "lockTimeout": 120000.0, "###enable": "是否启用,如果没有可用的externalDataSources.json文件,那么默认会在节点中启用本地的H2数据库作为默认的数据库.###", "###tcpPort": "H2数据库jdbc连接端口,登录的用户名:sa,密码为xadmin的密码.数据库创建在/o2server/local/repository/data/X.mv.db,一旦数据库文件被创建,那么该数据库的密码被创建.###", "###webPort": "H2数据库web端口,H2提供一个web端的client,此端口为web端client的访问端口.用户名sa,密码为xadmin数据库初始创建的密码.###", "###includes": "设置此数据库存储的类,默认情况下存储所有类型,如果需要对每个类进行单独的控制以达到高性能,可以将不同的类存储到不同的节点上提高性能.可以使用通配符*###", "###excludes": "在此节点上不存储的类,和includes一起设置实际存储的类,可以使用通配符*###", "###jmxEnable": "是否启动jmx,如果启用,可以通过本地的jmx客户端进行访问,不支持远程jmx客户端.###", "###cacheSize": "H2数据库缓存大小,设置H2用于作为缓存的内存大小,以M作为单位,这里默认为512M.###", "###logLevel": "默认日志级别,FATAL, ERROR, WARN, INFO, TRACE. 完整的配置为DefaultLevelu003dWARN, Toolu003dTRACE, Enhanceu003dTRACE, METADATAu003dTRACE, Runtimeu003dTRACE, Queryu003dTRACE, DataCacheu003dTRACE, JDBCu003dTRACE, SQLu003dTRACE###", "###maxTotal": "最大使用连接数###", "###maxIdle": "最大空闲连接数###", "###statEnable": "启用统计,默认关闭###", "###statFilter": "统计方式配置,默认mergeStat###", "###slowSqlMillis": "执行缓慢sql毫秒数,默认2000毫秒,执行缓慢的sql将被单独记录.###", "###lockTimeout": "默认锁超时时间()毫秒).###" }, "storage": { "enable": true, "port": 20040.0, "sslEnable": false, "name": "251", "accounts": [], "prefix": "", "deepPath": false, "###enable": "是否启用,对于二进制流文件,比如附件,图片等存储在单独的文件服务器中,可以支持多种文件服务器,默认情况下使用ftp服务器作为文件服务器,每个节点可以启动一个文件服务器以提供高性能.###", "###port": "ftp服务器端口,此端口可以不对外开放,仅有ApplicationServer进行访问,并不直接对用户提供服务.###", "###sslEnable": "是否启用ssl传输加密,如果启用将使用config/keystore文件作为密钥文件.使用config/token.json文件中的sslKeyStorePassword字段为密钥密码,sslKeyManagerPassword为管理密码.###", "###name": "名称,多个节点中不能重名,默认为251.###", "###accounts": "二进制流文件是分多个账号分段存储的,可以单独设置每个分类的存储配置,一般不需要设置.###", "###passivePorts": "ftp传输有主动和被动之分,如果使用了被动传输,设置被动端口范围,默认为29000-30000.###", "###prefix": "路径前缀.###", "###deepPath": "使用更深的路径###" }, "logLevel": "warn", "dumpData": { "enable": false, "cron": "", "size": 7.0, "path": "", "###enable": "是否启用,默认禁用.###", "###cron": "定时任务cron表达式,默认每天凌晨2点进行备份.###", "###size": "最大保留份数,超过将自动删除最久的数据.###", "###path": "备份路径###" }, "restoreData": { "enable": false, "cron": "", "path": "", "###enable": "是否启用.###", "###cron": "定时任务cron表达式###", "###path": "恢复路径###" }, "nodeAgentEnable": true, "nodeAgentPort": 20010.0, "nodeAgentEncrypt": true, "quickStartWebApp": false, "autoStart": true, "selfHealthCheckEnable": false, "###enable": "是否启用###", "###isPrimaryCenter": "是否是center节点,仅允许存在一个center节点###", "###center": "Center服务器配置###", "###application": "Application服务器配置###", "###web": "Web服务器配置###", "###data": "Data服务器配置###", "###storage": "Storage服务器配置###", "###logLevel": "日志级别,默认当前节点的slf4j日志级别,通过系统变量"org.slf4j.simpleLogger.defaultLogLevel"设置到当前jvm中.###", "###dumpData": "定时数据导出配置###", "###restoreData": "定时数据导入配置###", "###logSize": "日志文件保留天数.###", "###auditLogSize": "审计日志文件保留天数.###", "###nodeAgentEnable": "是否启用节点代理###", "###nodeAgentPort": "是否启用节点端口###", "###nodeAgentEncrypt": "是否启用节点代理加密###", "###quickStartWebApp": "是否使用快速应用部署###", "###banner": "服务器控制台启动标识###", "###autoStart": "是否自动启动###", "###eraseContentEnable": "是否允许使用擦除数据功能###", "###selfHealthCheckEnable": "是否启用节点上模块健康自检查,如果启用在提交到center之前将进行模块的健康检查.默认false###" }