# webfunny安装详细教程

最近,考虑到我们线上的问题需要记录下来,在尝试使用前端异常监控,webfunny看部署教程来做还是比较多坑,所以记录一下搭建的流程,搭建环境CentOS 7.2。

# Docker安装及启动

Docker可以简化一些安装流程,以及可以轻松把镜像移植到其他平台。

  1. Docker安装很简单,使用curl -sSL https://get.daocloud.io/docker | sh;
  2. 安装完成需要启动,systemctl start docker

# Docker安装MySQL

  1. docker pull mysql,安装最新版MySQL镜像;
  2. docker run -itd --name mysql-test -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql,运行容器,映射容器服务的3306端口到宿主机的3306端口,也就是外部可以通过ip加端口直接访问,用户root,密码123456;
  3. docker exec -it mysql-test bash,进入容器;
  4. mysql -u root -p,登录MySQL,需要输入密码;
  5. create DATABASE webfunny_db DEFAULT CHARSET utf8 COLLATE utf8_bin;,创建数据库webfunny_db;
  6. exit,退出到宿主机,多次执行。到这数据库已经准备完成。

# 运行webfunny项目

# 直接宿主机运行
  1. 代码上传到服务器,上传的方式很多,不详细描述,以下代码存放目录都在/data/webfunny_monitor/讲述;
  2. 修改config_bin_init.js文件代码,如下
  {
    // localServerDomain: 'localhost:8011', // 日志服务域名  localhost修改成对应服务器ip
    // localAssetsDomain: 'localhost:8010', // 数据可视化服务域名 localhost修改成对应服务器ip
    localServerDomain: '132.232.78.207:8011',
    localAssetsDomain: '132.232.78.207:8010',
  }
  {
    ip: '132.232.78.207', // 服务器ip
    port: '3306',
    dataBaseName: 'webfunny_db',
    userName: 'root', // 数据库用户
    password: '123456' // 数据库密码
  }
  1. 安装依赖,启动npm run init && npm run prd,进程守护使用了pm2,如果没有安装先安装npm i -g pm2
# Docker启动运行
  1. 修改Dockerfile文件
  FROM node:latest // 执行这个,需要Docker预先安装node最新版本镜像,docker pull node:latest
  RUN npm install pm2 -g // 安装pm2
  COPY . /app // 复制宿主机当前目录所有文件
  WORKDIR /app // 工作目录
  RUN npm install --registry=https://registry.npm.taobao.org
  RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
  RUN echo 'Asia/Shanghai' >/etc/timezone
  EXPOSE 8010
  EXPOSE 8011
  CMD npm run init && npm run prd
  1. 项目根目录执行docker build -t webfunny:1.0.0 .,完成执行docker images可以看到生成了镜像webfunny
  2. 生成容器,执行docker run -p 8010:8010 -p 8011:8011 -it webfunny:1.0.0