环境要求
安装NodeJS,版本要求:14.16.1及以上, 17.0以下。
安装pm2,版本目前无要求;
安装git,版本目前无要求;
配置要求、压力测试
最低配置要求:Linux服务器:1台,CentOs系统,2核4G;Mysql数据库:1台,2核4G。
压力测试:2核CPU(3.8GH), 4G内存,单点部署,最高峰支持2.8万/分钟的日志并发量。超过3万/分钟后,会出现日志丢失的情况(此压力值测试供参考)
第一步、下载(clone)最新部署包,初始化
1.本地克隆代码$:' git clone https://github.com/a597873885/webfunny_monitor.git '
使用码云仓库$:' git clone https://gitee.com/webfunnyMonitor/webfunny_monitor.git '(github网络不稳定,可以使用码云地址)
2.在项目根目录下执行初始化命令和安装命令$:
建议切换淘宝镜像:' npm config set registry http://registry.npm.taobao.org/ '
生成基础配置文件:' npm install && npm run bootstrap '
3.确认是否安装了pm2,如果没有安装pm2,请执行安装命令$:' npm install pm2 -g '
第二步、配置数据库(Mysql)连接
1. 安装 Mysql 数据库
2. 创建数据库
数据库名称:webfunny_db。
字符集设置:[Default Character set]:utf8、 [Default Collation]:utf8_bin
3. 在根目录下、webfunny.config.js文件中
找到mysqlConfig参数(如果没有数据库,可以联系我,获取测试数据库哦)
/**
* mysql数据库设置
* center: 应用中心数据库
* monitor:前端监控数据库
* event: 埋点系统数据库
* 配置更改后,需重启
* 三个可以共用一台数据库
*/
const mysqlConfig = {
// 应用中心
"center": {
"write": {
"ip": "xxx.xx.xx.xxx",
"port": "3306",
"dataBaseName": "webfunny_db",
"userName": "root",
"password": "123456"
},
"read": []
},
// 监控
"monitor": {
"write": {
"ip": "xxx.xx.xx.xxx",
"port": "3306",
"dataBaseName": "webfunny_db",
"userName": "root",
"password": "123456"
},
"read": []
},
// 埋点
"event": {
"write": {
"ip": "xxx.xx.xx.xxx",
"port": "3306",
"dataBaseName": "webfunny_db",
"userName": "root",
"password": "123456"
},
"read": []
}
}
第三步、配置IP和端口号(使用域名,请看下一步)
在根目录webfunny.config.js文件中,找到参数:domainConfig,配置IP和端口
/**
* 域名端口设置
* 配置更改后,需重启
*/
const domainConfig = {
"host": {
"fe": "localhost:8010", // 前端访问域名
"be": "localhost:8011" // 后端接口域名
},
"port": {
"fe": "8010", // 前端启动端口号
"be": "8011" // 后端启动端口号
},
"uploadDomain": {
"monitor": "", // 指定监控系统上报域名(一般不需要更改)
"event": "" // 指定埋点系统上报域名(一般不需要更改)
},
}
第四步、配置代理、域名
如大家所见,虽然执行了一条命令(npm run prd),其实是启动了3个模块,2个端口号,结构图见文档末尾。分别是:8011、8010,记得提醒运维同学,将所这2个端口的对外授权打开哦。
生产环境中,我们不推荐使用 IP + 端口的形式; 端口复杂,且不方便支持https,所以推荐使用代理,代理配置请参考文档:nginx代理
使用代理后,就可以将所有的IP+端口 替换成域名了,配置如下:
/**
* 域名端口设置
* 配置更改后,需重启
*/
const domainConfig = {
"host": {
"fe": "www.xxx.com", // 前端访问域名(一定要配置代理哦)
"be": "www.xxx.com" // 后端接口域名(一定要配置代理哦)
},
"port": {
"fe": "8010", // 前端启动端口号
"be": "8011" // 后端启动端口号
},
"uploadDomain": {
"monitor": "", // 指定监控系统上报域名(一般不需要更改)
"event": "" // 指定埋点系统上报域名(一般不需要更改)
},
}
第五步、尝试运行,访问
执行命令:npm run prd;如果已经启动过了,则执行重启命令:npm run restart;
命令行出现webfunny.cn的logo,则说明启动成功了。
此时,可以直接访问应用中心首页了
应用中心首页: http://www.xxx.com/webfunny_center/main.html
注:如果访问不了,请跟运维确认下是否打开了2个端口号的对外授权。