From 53b6c4197e15e7170d3ce2a6465a8ac5367185a8 Mon Sep 17 00:00:00 2001 From: liangtongchuan Date: Thu, 27 Apr 2023 18:35:05 +0800 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8=20feat(config):=20=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E5=85=AC=E6=B5=8B=E6=B8=A0=E9=81=93=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- game-server/app.ts | 2 +- game-server/config/ch1/log4js.ts | 190 +++++++++++++++++++++++++++++ game-server/config/database.ts | 2 +- game-server/config/master.ts | 5 + game-server/pm2Config.js | 2 +- game-server/pm2DistributeConfig.js | 2 +- game-server/xtransitConfig/ch1.js | 27 ++++ gm-server/config/config.ch1.ts | 51 ++++++++ web-server/config/config.ch1.ts | 51 ++++++++ 9 files changed, 328 insertions(+), 4 deletions(-) create mode 100644 game-server/config/ch1/log4js.ts create mode 100644 game-server/xtransitConfig/ch1.js create mode 100644 gm-server/config/config.ch1.ts create mode 100644 web-server/config/config.ch1.ts diff --git a/game-server/app.ts b/game-server/app.ts index 17ad141be..2f7eb3a3e 100644 --- a/game-server/app.ts +++ b/game-server/app.ts @@ -53,7 +53,7 @@ filePath.CONFIG_DIR = '/config'; const adminfilePath = _pinus.DEFAULT_ADMIN_PATH; adminfilePath.ADMIN_FILENAME = 'adminUser'; adminfilePath.ADMIN_USER = 'config/adminUser'; -const ALL_ENVS = 'stable|development|alpha|dev|isbn|isbnhk|monitor|monitor2|distribute|sq1|sq3|sq4|sq7|sq9|zy1|yjzios'; +const ALL_ENVS = 'stable|development|alpha|dev|isbn|isbnhk|monitor|monitor2|distribute|sq1|sq3|sq4|sq7|sq9|zy1|yjzios|ch1'; /** * 替换全局Promise * 自动解析sourcemap diff --git a/game-server/config/ch1/log4js.ts b/game-server/config/ch1/log4js.ts new file mode 100644 index 000000000..edc8e2583 --- /dev/null +++ b/game-server/config/ch1/log4js.ts @@ -0,0 +1,190 @@ +module.exports = { + 'appenders': { + 'console': { + 'type': 'console' + }, + 'con-log': { + 'type': 'file', + 'filename': '/zyz_logs/log4js/con-log-${opts:serverId}.log', + 'pattern': 'connector', + 'maxLogSize': 104857600, + 'layout': { + 'type': 'basic' + }, + 'backups': 5 + }, + 'rpc-log': { + 'type': 'file', + 'filename': '/zyz_logs/log4js/rpc-log-${opts:serverId}.log', + 'maxLogSize': 104857600, + 'layout': { + 'type': 'basic' + }, + 'backups': 5 + }, + 'forward-log': { + 'type': 'file', + 'filename': '/zyz_logs/log4js/forward-log-${opts:serverId}.log', + 'maxLogSize': 104857600, + 'layout': { + 'type': 'basic' + }, + 'backups': 5 + }, + 'rpc-debug': { + 'type': 'file', + 'filename': '/zyz_logs/log4js/rpc-debug-${opts:serverId}.log', + 'maxLogSize': 104857600, + 'layout': { + 'type': 'basic' + }, + 'backups': 5 + }, + 'crash-log': { + 'type': 'file', + 'filename': '/zyz_logs/log4js/crash.log', + 'maxLogSize': 104857600, + 'layout': { + 'type': 'basic' + }, + 'backups': 5 + }, + 'admin-log': { + 'type': 'file', + 'filename': '/zyz_logs/log4js/admin.log', + 'maxLogSize': 104857600, + 'layout': { + 'type': 'basic' + }, + 'backups': 5 + }, + 'pinus': { + 'type': 'file', + 'filename': '/zyz_logs/log4js/pinus-${opts:serverId}.log', + 'maxLogSize': 1073741824, + 'layout': { + 'type': 'basic' + }, + 'backups': 20 + }, + 'pinus-admin': { + 'type': 'file', + 'filename': '/zyz_logs/log4js/pinus-admin.log', + 'maxLogSize': 104857600, + 'layout': { + 'type': 'basic' + }, + 'backups': 5 + }, + 'pinus-rpc': { + 'type': 'file', + 'filename': '/zyz_logs/log4js/pinus-rpc-${opts:serverId}.log', + 'maxLogSize': 104857600, + 'layout': { + 'type': 'basic' + }, + 'backups': 5 + }, + 'app': { + 'type': 'file', + 'filename': '/zyz_logs/sls/app.log', + 'maxLogSize': 1073741824, + 'layout': { + 'type': 'basic' + }, + 'backups': 20 + }, + 'error': { + 'type': 'file', + 'filename': '/zyz_logs/sls/error.log', + 'maxLogSize': 1073741824, + 'layout': { + 'type': 'basic' + }, + 'backups': 5 + }, + 'ta': { + 'type': 'file', + 'filename': '/zyz_logs/ta/log', + 'pattern': 'yyyy-MM-dd-hh', + 'alwaysIncludePattern': true, + 'layout': { + 'type': 'pattern', + 'pattern': '%m', + }, + 'backups': 240, + }, + 'item': { + 'type': 'file', + 'filename': '/zyz_logs/item/log', + 'maxLogSize': 1073741824, + 'layout': { + 'type': 'basic' + }, + 'backups': 5 + } + }, + + 'categories': { + 'default': { + 'appenders': ['console', 'pinus'], + 'level': 'debug' + }, + 'con-log': { + 'appenders': ['con-log'], + 'level': 'debug' + }, + 'rpc-log': { + 'appenders': ['rpc-log'], + 'level': 'debug' + }, + 'forward-log': { + 'appenders': ['forward-log'], + 'level': 'debug' + }, + 'rpc-debug': { + 'appenders': ['rpc-debug'], + 'level': 'debug' + }, + 'crash-log': { + 'appenders': ['crash-log'], + 'level': 'debug' + }, + 'admin-log': { + 'appenders': ['admin-log'], + 'level': 'debug' + }, + 'pinus-admin': { + 'appenders': ['pinus-admin'], + 'level': 'debug' + }, + 'pinus-rpc': { + 'appenders': ['pinus-rpc'], + 'level': 'debug' + }, + 'pinus': { + 'appenders': ['pinus'], + 'level': 'debug' + }, + 'info': { + 'appenders': ['console', 'app'], + 'level': 'debug' + }, + 'err': { + 'appenders': ['console', 'error'], + 'level': 'debug' + }, + 'ta': { + 'appenders': ['console', 'ta'], + 'level': 'info' + }, + 'item': { + 'appenders': ['console', 'item'], + 'level': 'info' + } + + }, + 'replaceConsole': true, + 'lineDebug': false, + 'errorStack': true +}; diff --git a/game-server/config/database.ts b/game-server/config/database.ts index 540848717..dea0f1db7 100644 --- a/game-server/config/database.ts +++ b/game-server/config/database.ts @@ -99,4 +99,4 @@ module.exports = { 'redis': 'r-j6cnm99s202onoig1v.redis.rds.aliyuncs.com', 'redispw': 'hWCJ$HDajm9SN&&Z' }, -}; \ No newline at end of file +}; diff --git a/game-server/config/master.ts b/game-server/config/master.ts index 006d5fa60..2e2a311cb 100644 --- a/game-server/config/master.ts +++ b/game-server/config/master.ts @@ -129,4 +129,9 @@ module.exports = { 'host': '172.31.237.140', 'port': 3005 }, + 'ch1': { + 'id': 'master-server-1', + 'host': '172.16.4.144', + 'port': 3005 + } }; \ No newline at end of file diff --git a/game-server/pm2Config.js b/game-server/pm2Config.js index 08faf60df..0678f0a38 100644 --- a/game-server/pm2Config.js +++ b/game-server/pm2Config.js @@ -69,7 +69,7 @@ pm2Master.cwd= cwd; pm2Master.env={NODE_PROCESS_TITLE: envType+'_'+masterConfig.id}; titles.push(envType+'_'+masterConfig.id); -let onairEnvs = ['sq1', 'sq3', 'sq4', 'sq7', 'sq9', 'zy1']; +let onairEnvs = ['sq1', 'sq3', 'sq4', 'sq7', 'sq9', 'zy1', 'ch1']; if(onairEnvs.indexOf(envType) > -1) { pm2Master.out_file = '/zyz_logs/pm2/'+masterConfig.id+"_app.log"; pm2Master.error_file='/zyz_logs/pm2/'+masterConfig.id+'_error.log'; diff --git a/game-server/pm2DistributeConfig.js b/game-server/pm2DistributeConfig.js index 33bf2dc56..97e97a216 100644 --- a/game-server/pm2DistributeConfig.js +++ b/game-server/pm2DistributeConfig.js @@ -50,7 +50,7 @@ var clone = function (origin) { return obj; }; -let onairEnvs = ['sq1', 'sq3', 'sq4', 'sq7', 'sq9', 'zy1']; +let onairEnvs = ['sq1', 'sq3', 'sq4', 'sq7', 'sq9', 'zy1', 'ch1']; // var masterConfig = masterJsonFile[masterEnvType]; var serversConfig = serversJosnFile[distributeEnvType]; diff --git a/game-server/xtransitConfig/ch1.js b/game-server/xtransitConfig/ch1.js new file mode 100644 index 000000000..3e0a9d937 --- /dev/null +++ b/game-server/xtransitConfig/ch1.js @@ -0,0 +1,27 @@ +// config +const fs = require('fs'); +module.exports = { + // I. 必须的配置 + server: 'ws://172.16.4.147:9092', // 填写前一节中部署的 xtransit-server 地址 + appId: 4, // 创建应用得到的应用 ID + appSecret: '20cdf62e8ab0f3a751e7a5f7a0abbd33', // 创建应用得到的应用 Secret + + // II. 比较重要的可选配置 + disks: [], // 数组,配置需要监控的 disk 全路径 + errors: [], // 数组,配置需要监控的 error 日志全路径 + packages: [], // 数组,配置需要监控的项目依赖文件全路径 + + // III. 不是很重要的可选的配置 + logDir: '/zyz_logs/xprofiler', // xprofiler 插件生成性能日志文件的目录,默认两者均为 os.tmpdir() + docker: false, // 默认 false, 系统数据采集会依赖当前是否是 docker 环境而进行一些特殊处理,可以手动强制指定当前实例是否为 docker 环境 + ipMode: false, // 默认 false,此时仅使用 hostname 作为 agentId;设置为 true 后 agentId 组装形式为 ${ip}_${hostname} + libMode: false, // 默认 false,此时采集如果收到 shutdown 事件会退出当前进程;如果是以第三方库的形式引用接入应用内,请将此属性设置为 true + errexp: /\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}/i, // 匹配错误日志起始的正则,默认为匹配到 YYYY-MM-DD HH:mm:ss 时间戳即认为是一条错误日志的起始 + logger: console, // 可以传入应用日志句柄方便日志统一管理,需要实现 error, info, warn 和 debug 四个方法 + logLevel: 2, // 默认内置 logger 的日志级别,0 error,1 info,2 warning,3 debug, + titles: [], // 数组,如果应用使用了 process.title 自定义了名称,可以通过配置这里上报进程数据 + customAgent: () => { + const hostname = fs.readFileSync('/etc/aliashost', 'utf8').trim(); + return hostname; + } +}; diff --git a/gm-server/config/config.ch1.ts b/gm-server/config/config.ch1.ts new file mode 100644 index 000000000..fbd547c13 --- /dev/null +++ b/gm-server/config/config.ch1.ts @@ -0,0 +1,51 @@ +import { EggAppConfig, EggAppInfo, PowerPartial } from 'egg'; +import defaultConfig from './config.default'; + +export default (appInfo: EggAppInfo) => { + const config = {} as PowerPartial; + + // add your special config in here + + config.mongoose = { + url: 'mongodb://yjzDbOp:yjz2023ZyDB@dds-8vb6c08497bde7141.mongodb.zhangbei.rds.aliyuncs.com:3717,dds-8vb6c08497bde7142.mongodb.zhangbei.rds.aliyuncs.com:3717,dds-8vb6c08497bde7143.mongodb.zhangbei.rds.aliyuncs.com:3717,dds-8vb6c08497bde7144.mongodb.zhangbei.rds.aliyuncs.com:3717/zyz?replicaSet=mgset-516005505', // 内网 + options: { useNewUrlParser: true, useUnifiedTopology: true }, + }; + + config.gmmongoose = { + url: 'mongodb://yjzGmDbOp:yjz2023ZyGmDB@dds-8vbdf8c89bbdbd241.mongodb.zhangbei.rds.aliyuncs.com:3717,dds-8vbdf8c89bbdbd242.mongodb.zhangbei.rds.aliyuncs.com:3717,dds-8vbdf8c89bbdbd243.mongodb.zhangbei.rds.aliyuncs.com:3717,dds-8vbdf8c89bbdbd244.mongodb.zhangbei.rds.aliyuncs.com:3717/zyzgm?replicaSet=mgset-515829436', // 内网 + options: { useNewUrlParser: true, useUnifiedTopology: true }, + }; + + config.redis = { + url: 'r-8vbqgdc3h9ac77fdvi.redis.zhangbei.rds.aliyuncs.com', // 内网 + pw: 'hWCJ$HDajm9SN&&Z' + }; + + config.xtransit = { + server: 'ws://172.16.4.147:9092', + appId: 3, + appSecret: 'bc33c837395b6dc272fd67f4cf38ef77' + }; + + config.customLogger = { + linkLogger: { + file: '/zyz_logs/gm-server/link-log.log', + formatter(meta) { + return `[${meta.level}] [${meta.date}] ${meta.message}`; + }, + }, + }; + + config.logrotator = { + filesRotateBySize: [ + '/zyz_logs/gm-server/link-log.log', + ], + maxFileSize: 1024, + }; + + // the return config will combines to EggAppConfig + return { + ...defaultConfig(appInfo), + ...config, + }; +}; diff --git a/web-server/config/config.ch1.ts b/web-server/config/config.ch1.ts new file mode 100644 index 000000000..a6b017ede --- /dev/null +++ b/web-server/config/config.ch1.ts @@ -0,0 +1,51 @@ +import { EggAppConfig, EggAppInfo, PowerPartial } from 'egg'; +import defaultConfig from './config.default'; + +export default (appInfo: EggAppInfo) => { + const config = {} as PowerPartial; + config.middleware = [ 'parmsDecode', 'getIp', 'proxy' ]; + + config.mongoose = { + url: 'mongodb://yjzDbOp:yjz2023ZyDB@dds-8vb6c08497bde7141.mongodb.zhangbei.rds.aliyuncs.com:3717,dds-8vb6c08497bde7142.mongodb.zhangbei.rds.aliyuncs.com:3717,dds-8vb6c08497bde7143.mongodb.zhangbei.rds.aliyuncs.com:3717,dds-8vb6c08497bde7144.mongodb.zhangbei.rds.aliyuncs.com:3717/zyz?replicaSet=mgset-516005505', // 内网 + options: { useNewUrlParser: true, useUnifiedTopology: true }, + }; + + config.gmmongoose = { + url: 'mongodb://yjzGmDbOp:yjz2023ZyGmDB@dds-8vbdf8c89bbdbd241.mongodb.zhangbei.rds.aliyuncs.com:3717,dds-8vbdf8c89bbdbd242.mongodb.zhangbei.rds.aliyuncs.com:3717,dds-8vbdf8c89bbdbd243.mongodb.zhangbei.rds.aliyuncs.com:3717,dds-8vbdf8c89bbdbd244.mongodb.zhangbei.rds.aliyuncs.com:3717/zyzgm?replicaSet=mgset-515829436', // 内网 + options: { useNewUrlParser: true, useUnifiedTopology: true }, + }; + + config.redis = { + url: 'r-8vbqgdc3h9ac77fdvi.redis.zhangbei.rds.aliyuncs.com', // 内网 + pw: 'hWCJ$HDajm9SN&&Z' + }; + + config.xtransit = { + server: 'ws://172.16.4.147:9092', + appId: 5, + appSecret: '1c85221722efa1daec1097cd802ac939' + }; + + config.customLogger = { + linkLogger: { + file: '/zyz_logs/web-server/link-log.log', + formatter(meta) { + return `[${meta.level}] [${meta.date}] ${meta.message}`; + }, + }, + }; + + config.logrotator = { + filesRotateBySize: [ + '/zyz_logs/web-server/link-log.log', + ], + maxFileSize: 1024 * 1024 * 1024, + }; + + + // the return config will combines to EggAppConfig + return { + ...defaultConfig(appInfo), + ...config + }; +};