环境要求
请安装NodeJS,版本号:14.16.1及以上, 17.0以下。
配置要求、压力测试
日活十万UV以内:1核2G内存及以上,单点即可。日活百万UV左右:2核4G内存及以上,单点即可。(为保证稳定性,建议至少2核2G以上)
压力测试:2核CPU(3.8GH), 4G内存,单点部署,最高峰支持2.8万/分钟的日志并发量。超过3万/分钟后,会出现日志丢失的情况(此压力值测试供参考)
推荐配置:为保证稳定性,服务器、数据库均使用 2核4G以上的物理配置最佳;
压力测试地址: 点我进行压测 (注意:需要搭建好webfunny,并创建好项目之后才能测试)
第一步、下载(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 run bootstrap && npm install '
3.确认是否安装了pm2,如果没有安装pm2,请执行安装命令$:npm install pm2 -g
第二步、配置数据库(Mysql)连接
1. 安装 Mysql 数据库(Mysql安装教程)
2. 创建数据库
数据库名称:webfunny_db。
字符集设置:[Default Character set]:utf8、 [Default Collation]:utf8_bin
3. 数据库连接配置
进入config_variable/config.json文件中,配置对应的参数(如果没有数据库,可以联系我,使用测试数据库哦)
write: {
ip: 'xxx.xxx.xxx.xxx', // 远程ip地址
port: '3306', // 端口号
dataBaseName: 'webfunny_db', // 数据库名
userName: 'root', // 用户名
password: '123456' // 密码
}
第三步、本地部署运行
1) 此时此刻,本地配置已经完成了,尝试运行命令$: npm run prd
如果提示报错:Script already launched,说明程序已经运行了,请使用$: npm run restart
2) 打开浏览器,访问地址:http://localhost:8010/webfunny/register.html?type=1 (初始化管理员账号,并登录)
3) 创建新项目后,可以看到探针部署教程,完成部署。
第四步、生产环境部署
1. IP地址或者域名配置(方式一)
进入config_variable/config.json文件中(注意,对应的端口号要保持一致)
IP地址配置方式:
{
localServerDomain: 'xxx.xxx.xxx.xxx:8011', // 日志上报域名
localAssetsDomain: 'xxx.xxx.xxx.xxx:8010', // 可视化页面域名
localServerPort: '8011', // 日志上报端口号
localAssetsPort: '8010', // 前端页面端口号
}
2. 代理域名配置,去掉端口号(方式二)
使用代理域名的用户,请一定要理解清楚Nginx代理的方法
代理域名配置方式(端口号还是需要配置的):
{
localServerDomain: 'www.baidu.com', // 日志上报域名
localAssetsDomain: 'www.baidu.com', // 可视化页面域名
localServerPort: '8011', // 日志上报端口号
localAssetsPort: '8010', // 前端页面端口号
}
恭喜您,Webfunny这样就部署好了,快去尝试部署到线上环境吧。
参数配置项说明
{
"purchase": {
"purchaseCode": "", //授权码
"secretCode": "" //解码
},
"domain": {
"localServerDomain": "localhost:8011", // 接口域名
"localAssetsDomain": "localhost:8010", // 前端域名
"localServerPort": "8011",
"localAssetsPort": "8010",
"mainDomain": ""
},
"mysqlConfig": { // 数据库配置
"write": {
"ip": "localhost",
"port": "3306",
"dataBaseName": "webfunny_db",
"userName": "root",
"password": "123456"
},
"read": [] // 读写分离配置
},
"email": {
"useCusEmailSys": false, // 是否使用自己的邮件系统, true: 使用配置的邮箱密码;false: 由webfunny系统给你发送邮件
"emailUser": "", // 163邮箱用户名
"emailPassword": "" // 163邮箱,网易老账号用密码, 新账号用安全码
},
"httpReqRes": {
"requestTextLength": 1000,
"responseTextLength": 1000
},
"messageQueue": false, // 是否开启消息队列,默认不开启
"openMonitor": true, // 是否开启监控,企业版可关闭此选项
"logSaveDays": 8, // 数据保存周期,默认8天
}