背景
咱们的需要是在本地部署一套 IM 零碎,抉择 tinode。为便于后端启动,咱们采纳 WSL 环境,配合 docker 装置数据库,来启动 IM 利用。
解决
WSL 启动前端和后盾服务
- cmd 输出
WSL --update
,确保 WSL 比拟新 -
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
-
docker 装置 mysql
docker run --network="host" --name im-mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:latest
- 下载
https://github.com/tinode/chat/releases/
linux 包 - 放到 WSL 目录中,解压
- 执行
./init-db -data=data.json
-
执行
./tinode
如果要在服务器启动,应用
nohup ./tinode >im.out 2>&1 &
- 查看是否启动胜利
ps aux|grep tinode
- 关上
http://localhost:6060/
- 登陆测试,用户名 bob 明码 bob123,用户 alice 明码 alice123
本地部署曾经实现,如果要配合批改前端代码,前端须要从另一个仓库来拉取
前端二次开发
首先确保后盾曾经失常启动,而后独自看前端局部
-
WSL 确保装置了 git,空目录下拉取前端代码
git clone https://github.com/tinode/webapp.git
-
WSL 确保装置了 nodejs(参考 nodejs-on-wsl),装置依赖
cd webapp npm i
-
批改代码后打包
他这个我的项目没有开发模式,每次批改完只能从新打包npm run build
-
应用 VSCODE Live Server 插件关上 index-dev.html
然而须要把127.0.0.1
改成localhost
http://localhost:8080/index-dev.html`
每次关上的时候,最好还要清空浏览器缓存再刷新
如何清空浏览器缓存:关上浏览器控制台,在地址栏左侧的刷新按钮右击,点击
清空缓存并硬性从新加载
- 登陆测试
参考
- 开源 IM 零碎 tinode 部署教程| WSL 环境
- tinode frontend
- tinode backend
- tinode backend install
- docker mysql
- nodejs-on-wsl