背景

我们的需求是在本地部署一套 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. 登陆测试

参考

开源 IM 系统 tinode 部署教程| WSL 环境的更多相关文章

  1. 记录Linux CentOS 7系统完整部署Docker容器环境教程

    笔者之前有在"详细介绍Ubuntu 16.04系统环境安装Docker CE容器的过程"文章中有介绍到利用Ubuntu系统安装Docker容器环境的过程.如果我们有使用CentOS ...

  2. 开源协同办公平台部署教程:O2OA PAAS平台部署

    一.镜像制作1.将安装介质o2server-5.0.3-linux.zip上传至镜像制作服务器上.(上传目录为/paas/xxhpaas/moka/o2oa)2.使用unzip命令解压安装包,参考命令 ...

  3. Windows系统Ionic安装教程/Ionic环境配置

    原文链接:http://blog.csdn.net/superjunjin/article/details/43412017 参考文章 Cordova 3.x 基础(1) -- 环境搭建(Window ...

  4. 【转载】在Centos系统上采用二进制文件部署Node.js环境

    Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境,用来方便地搭建快速的易于扩展的网络应用.Node.js 使用了一个事件驱动.非阻塞式 I/O 的模型,使其轻量又 ...

  5. 一步步部署基于Windows系统的Jenkins持续集成环境

    如题:本文将介绍如何在Windows环境下运用Jenkins部署持续集成环境.之所以写本文,是因为在最近工作当中,学习使用Jenkins时,确实遇到了一些问题,而大多数教程文档都是基于Mac或是Lin ...

  6. deepin系统下部署Python3.5的开发及运行环境

    deepin系统下部署Python3.5的开发及运行环境 1 概述 由于最近要学习python接口自动化测试,所以记录一下相关学习经过及经验,希望对大家可以有所帮助. 2 下载 在python官网下载 ...

  7. 首发福利!全球第一开源ERP Odoo系统架构部署指南 电子书分享

    引言 Odoo,以前叫OpenERP,是比利时Odoo S.A.公司开发的一个企业应用软件套件,开源套件包括一个企业应用快速开发平台,以及几千个Odoo及第三方开发的企业应用模块.Odoo适用于各种规 ...

  8. windows系统dokuwiki安装部署设置 xampp环境配置

    简单记录一次安装dokuwiki的过程 dokuwiki下载 dokuwiki下载地址 https://download.dokuwiki.org/ 下载前有一些可选项目,版本.语言.插件,可以按照需 ...

  9. 【转载】Centos系统快速部署LNMP环境

    PHP语言在Linux系统上运行的时候,需要在Linux系统上部署相应的Nginx.MySQL.PHP等环境,只有将这些环境参数都设置好,PHP相关应用程序才可正常运行,部署环境的方法有很多种,可手动 ...

  10. Visual Studio 2017 系统发布部署服务器教程

    Visual Studio 2017 系统发布部署服务器教程       一.公司网站部署 --- 第一档 _Visual Studio 2017 发布网站系统教程  二.公司网站部署 --- 第二档 ...

随机推荐

  1. JUC源码学习笔记7——FutureTask源码解析,人生亦如是,run起来才有结果

    系列文章目录和关于我 一丶我们在哪里会使用到FutureTask 基本上工作中和Future接口 打交道比较多,比如线程池ThreadPoolExecutor#sumbit方法,返回值就是一个Futu ...

  2. [python] Python map函数总结

    Python map函数总结 本文主要介绍如何使用Python(Python3版本)的内置map()函数.简单来说map()函数会将指定的函数依次作用于某个序列的每个元素,并返回一个迭代器对象.map ...

  3. [C++]const_cast,dynamic_cast,reinterpret_cast,static_cast转型

    C++四种新式转型: const_cast(expression) dynamic_cast(expression) reinterpret_cast(expression) static_cast( ...

  4. 图文并茂手把手教你How to copy files or directory in nodejs npm scripts编写脚本用npm或者node命令复制文件

    每天都要开心哦~~~ 今天来个双语文档 先放出来官方文档 https://www.npmjs.com/package/copyfiles 先来说一下npm 执行的方式 1.首先,进入项目目录,下载依赖 ...

  5. MySQL 中的事务理解

    MySQL 中的事务 前言 原子性 一致性 持久性 并发事务存在的问题 脏读 幻读 不可重复读 隔离性 事务的隔离级别 事务隔离是如何实现 可重复读 和 读提交 串行化 读未提交 可重复读解决了幻读吗 ...

  6. websocket-sharp 实现websocket

    第一步,使用VS创建一个应用程序 第二步,添加引用 websocket-sharp DLL文件,或者NuGet程序包中添加 第三部,创建Laputa 类 using WebSocketSharp; u ...

  7. EL&JSTL笔记 javaweb+jdbcTempl

    # 今日内容    1. JSP:        1. 指令        2. 注释        3. 内置对象    2. MVC开发模式    3. EL表达式    4. JSTL标签   ...

  8. ASP.NET Core开发者指南(2022版路线图)

    ASP.NET Core开发者指南 2022年 ASP.NET Core 开发者指南: 在下面,您可以看到一个图,说明可以采用的路径以及要成为ASP.NET Core开发人员所想要学习的库.我将此图作 ...

  9. git操作出现 error: The following untracked working tree files would be overwritten by ...

    命令行:git clean -d -fx,作用是:删除没有git add 的文件 ,执行之后解决了 error: The following untracked working tree files ...

  10. STM32F4库函数初始化系列:DMA串口接收

    1 void _UART2_Configuration(void) 2 { 3 USART_InitTypeDef USART_InitStructure; 4 5 USART_OverSamplin ...