介绍

使用nodejs + socket.io 搭建 socket 服务用于观测用户在线时长,本文只写了停留的时长,有需要的话可以加入访问来源等各种数据(按照项目需求来),nodejs和socket.io的介绍去看下官网,官网写的更全。 nodejs 官网socket.io官网

我对nodejs也不是很熟悉比着葫芦画瓢罢了。可以留言改正,不喜勿喷。halobug 统计时长仓库地址

代码示例

xnip2021-07-07_16-18-36.jpg

容器的方式启动

1,拉取代码后目录结构

xnip2021-07-07_16-18-36.jpg

2,本地build镜像

1bash make-image.sh

3,根据提示查看是否构建成功

1docker images | grep point

xnip2021-07-07_16-18-36.jpg

4,启动容器 + 日志查看

1bash update.sh & docker-compose logs -f

5,本地绑定hosts后测试

1https://point-socket.halobug.cn

本地如何配置 https 参考以前的文章吧 xnip2021-07-07_16-18-36.jpg

  1. 本文仅存在停留时长(其他数据自己添加)。
  2. 项目重启后数据丢失(多实例部署请将数据持久化保存)。
  3. 仅限单机单实例部署(数据持久化后可多实例部署提高性能)。

一键启动测试

1 ,pull 镜像

1docker pull halobug/point-socker-test:1.0

2 ,run

1docker run -d -p 3000:3000 halobug/point-socker-test:1.0

3, 浏览器访问

1http://127.0.0.1:3000

4,查看容器id日志

1(docker ps 查看对应的容器获取)
2
3获取容器ID:docker ps | grep "point-socker-test" | awk '{print $1}'
4
5docker logs -f 容器ID

xnip2021-07-07_16-18-36.jpg