环境要求
安装NodeJS,版本要求:14.16.1及以上, 17.0以下。
安装pm2,版本目前无要求;
安装git,版本目前无要求;
专业版请看这里:专业版(mysql)部署教程
您也可以观看:线上部署视频教程
配置要求
最低配置要求:Linux服务器:1台,CentOs系统,4核8G;Mysql数据库:1台,2核4G;Clickhouse数据库: 1台,4核16G;
第一步、下载(clone)最新部署包,初始化
企业版地址(Clickhouse)
Github克隆:' git clone https://github.com/a597873885/webfunny_monitor.git '
Gitee克隆(国内地址):' git clone https://gitee.com/webfunnyMonitor/webfunny_monitor.git '
1.在项目根目录下执行初始化命令和安装命令$:
建议切换淘宝镜像:' npm config set registry https://registry.npmmirror.com/ '
a. 安装依赖包:' npm install '
b. 生成基础配置文件:' npm run bootstrap '
2.确认是否安装了pm2,如果没有安装pm2,请执行安装命令$:' npm install pm2 -g '
第二步、配置数据库(Mysql + Clickhouse)连接
Clickhouse安装教程:https://clickhouse.com/docs/zh/getting-started/install
注意:应用中心使用mysql;监控系统、埋点系统使用clickhouse
1.创建mysql数据库
数据库名称:webfunny_mysql_db
字符集设置:[Default Character set]:utf8、 [Default Collation]:utf8_bin
2.创建clickhouse数据库
数据库名称:webfunny_clickhouse_db
3. 在根目录下、webfunny.config/index.js文件中
找到mysqlConfig参数(如果没有数据库,可以联系我,获取测试数据库哦)
/**
* 数据库设置
* center: 应用中心数据库
* monitor:前端监控数据库
* event: 埋点系统数据库
* 配置更改后,需重启
* monitor、event可以共用一台数据库
*/
const mysqlConfig = {
// 应用中心(mysql)
"center": {
"write": {
"ip": "xxx.xx.xx.xxx",
"port": "3306",
"dataBaseName": "webfunny_mysql_db",
"userName": "root",
"password": "123456"
},
"read": []
},
// 监控(clickhouse)
"monitor": {
"write": {
"ip": "xxx.xx.xx.xxx",
"port": "3306",
"dataBaseName": "webfunny_clickhouse_db",
"userName": "root",
"password": "123456"
},
"read": []
},
// 埋点(clickhouse)
"event": {
"write": {
"ip": "xxx.xx.xx.xxx",
"port": "3306",
"dataBaseName": "webfunny_clickhouse_db",
"userName": "root",
"password": "123456"
},
"read": []
},
// 日志(Clickhouse)
"logger": {
"write": {
"ip": "xxx.xx.xx.xxx",
"port": "3306",
"dataBaseName": "webfunny_clickhouse_db",
"userName": "root",
"password": "123456"
},
"read": []
}
}
第三步、配置IP和端口号(使用域名,请看下一步)
在根目录webfunny.config.js文件中,找到参数:domainConfig,配置IP和端口
/**
* 域名端口设置
* 配置更改后,需重启
*/
const domainConfig = {
"host": {
"fe": "localhost:9010", // 前端访问域名(专业版配置8010)
"be": "localhost:9011" // 后端接口域名(专业版配置8011)
},
"port": {
"fe": "9010", // 前端启动端口号(专业版配置8010)
"be": "9011" // 后端启动端口号(专业版配置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": "9010", // 前端启动端口号(专业版配置9010)
"be": "9011" // 后端启动端口号(专业版配置9011)
},
"uploadDomain": {
"monitor": "", // 指定监控系统上报域名(一般不需要更改)
"event": "" // 指定埋点系统上报域名(一般不需要更改)
},
}
第五步、尝试运行,访问
执行命令:npm run prd;如果已经启动过了,则执行重启命令:npm run restart;
命令行出现webfunny.cn的logo,则说明启动成功了。
此时,可以直接访问应用中心首页了
应用中心首页: http://www.xxx.com/wf_center/main.html
注:如果访问不了,请跟运维确认下是否打开了2个端口号的对外授权。