背景

我们的需求是在本地部署一套 IM 系统,选择 tinode。为便于后端启动,我们采用 WSL 环境,配合 docker 安装数据库,来启动 IM 应用。

解决

WSL 启动前端和后台服务

  1. cmd 输入WSL --update,确保 WSL 比较新

  2. cmd 进入 WSL,确保安装了 docker, docker ps -a看看是否启动。

    如果提示

    wsl Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?

    需要启动 docker: sudo service docker start

  3. docker 安装 mysql

    docker run --network="host" --name im-mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:latest
  4. 下载 https://github.com/tinode/chat/releases/ linux 包

  5. 放到 WSL 目录中,解压

  6. 执行 ./init-db -data=data.json

  7. 执行 ./tinode

    如果要在服务器启动,使用

    nohup ./tinode >im.out 2>&1 &
  1. 检查是否启动成功 ps aux|grep tinode
  2. 打开 http://localhost:6060/
  3. 登陆测试,用户名 bob 密码 bob123,用户 alice 密码 alice123

本地部署已经完成,如果要配合修改前端代码,前端需要从另一个仓库来拉取

前端二次开发

首先确保后台已经正常启动,然后单独看前端部分

  1. WSL 确保安装了 git, 空目录下拉取前端代码

    git clone https://github.com/tinode/webapp.git
  2. WSL 确保安装了 nodejs(参考nodejs-on-wsl ),安装依赖

    cd webapp
    npm i
  3. 修改代码后打包

    他这个项目没有开发模式,每次修改完只能重新打包

    npm run build
  4. 使用 VSCODE Live Server 插件打开 index-dev.html

    但是需要把127.0.0.1改成localhost

    http://localhost:8080/index-dev.html`

    每次打开的时候,最好还要清空浏览器缓存再刷新

    如何清空浏览器缓存:打开浏览器控制台,在地址栏左侧的刷新按钮右击,点击清空缓存并硬性重新加载

  5. 登陆测试

参考

最新文章

  1. php 操作数组 (合并,拆分,追加,查找,删除等)
  2. 图片在ie8浏览器打不开,其他浏览器都可以打开的问题
  3. Java Sha1 加密算法
  4. linux中shell变量$#,$@,$0,$1,$2的含义解释(转)
  5. UVaLive 6602 Counting Lattice Squares (找规律)
  6. [LeetCode]题解(python):017-Letter Combinations of a Phone Number
  7. 创建用于编译和运行Java程序的批处理文件
  8. CentOS6.8使用源码安装Git
  9. 自己做个 Tag标签
  10. Winform ComBox模糊查询
  11. es6--(二)变量的解构赋值
  12. seajs模块标识命名和解析规则
  13. Feign二: @FeignClient 接口调用
  14. Java(控制台输出)实现猜数字小游戏
  15. Task Parallelism
  16. goole机器学习视频链接【学习笔记】
  17. C#常用插件和工具
  18. 根据端口号,利用DOS命令杀死进程
  19. sql增删改查封装
  20. git 查看&修改用户名

热门文章

  1. Input源码解读——从"Show tabs"开始
  2. [C#]简单的理解委托和事件
  3. VMware-workstation软件安装和虚拟机创建
  4. AtCoder Beginner Contest 285 解题报告
  5. 【Redis场景3】缓存穿透、击穿问题
  6. 解决Java.awt设计GUI程序时Label标签中文乱码解决(idea)
  7. 如何使用 JuiceFS 创建 WebDAV 共享
  8. 教你解决虚拟机用不了USB设备的苦恼。
  9. 10月25日内容总结——正则表达式相关知识与re模块
  10. 学习Java Day21