0.写在前面
看到一个开源的即时通讯程序,体验非常棒。
1.准备工作
1.1 安装go
从https://go.dev/dl
下载最新版go。项目要求go version>=1.20.0
我的云服务是centos x86_64
uname -a
Linux VM-16-10-centos 3.10.0-1160.11.1.el7.x86_64 #1 SMP Fri Dec 18 16:34:56 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
因此下载:go1.21.0.linux-amd64.tar.gz
下载完成后在~/.bash_profile
配置好GOROOT,GOPATH
即可
export GOROOT=/root/Document/software/go1.21.0
export GOPATH=/home/workspaces/go/src
export PATH=$PATH:$GOROOT/bin
查看go版本
# go version
go version go1.21.0 linux/amd64
1.2 用docker安装mysql,redis,minio
(一) mysql
# docker run -e MYSQL_ROOT_PASSWORD=demo -p 3306:3306 --name mysql mysql
(二)redis
#docker run -itd --name redis -p 6379:6379 redis
Unable to find image 'redis:latest' locally
latest: Pulling from library/redis
648e0aadf75a: Pull complete
3b637010cd4d: Pull complete
af4cd59cb295: Pull complete
5c4cdbac1c67: Pull complete
70c6437ca3ab: Pull complete
3d38f0110a91: Pull complete
Digest: sha256:b0bdc1a83caf43f9eb74afca0fcfd6f09bea38bb87f6add4a858f06ef4617538
Status: Downloaded newer image for redis:latest
1df5792956d8afd425164e17d38701943bfdc81ea4af6af9baed7405f64201be
查看日志,说明redis已经启动成功
(三)minio
docker run -p 9000:9000 -p 9090:9090 --name minio \
-d --restart=always \
-e "MINIO_ACCESS_KEY=admin" \
-e "MINIO_SECRET_KEY=admin123456" \
-v /tmp/minio/data:/data \
-v /tmp/minio/config:/root/.minio \minio/minio \
server /data --console-address ":9090"
说明启动成功,访问ip:9000
访问页面,创建Access Key
记住Access Key
和Secret Key
,后面要用到
2.下载并运行代码
2.1 下载WuKongIM
git clone https://github.com/WuKongIM/WuKongIM.git
2.2 运行WuKongIM
这里使用pm2
运行
在根目录添加socket.json
文件
[{
"name": "WuKongIM",
"args": "",
"script": "go run main.go",
"exec_mode": "fork",
"max_memory_restart": "100M"
}]
启动程序:pm2 start socket.json
2.3 下载TangSengDaoDaoServer
git clone https://github.com/TangSengDaoDao/TangSengDaoDaoServer.git
2.4修改配置
TangSengDaoDaoServer/configs/tsdd.yaml
minio: # minio配置
# url: "" # minio地址 格式:http://xx.xx.xx.xx:9000
accessKeyID: "上面保存的Access Key" # minio accessKeyID
secretAccessKey: "上面保存的Secret Key" # minio secretAccessKey
2.5 运行
同WuKongIM一样,使用pm2运行
2.6 下载TangSengDaoDaoWeb
如果不用web版则不需要运行这个程序。
git clone https://github.com/TangSengDaoDao/TangSengDaoDaoWeb.git
修改配置apps/web/src/index.tsx
WKApp.apiClient.config.apiURL = "http://127.0.0.1:8090/v1/"
2.7 启动
下载依赖yarn install
yarn dev
// 这个命令可以使用pm2
至此环境搭建完成,可以访问ip:3000
,用admin/oZmjluNR
账号登录管理员
手机访问,修改登录页面右上角服务器地址
,改成ip:8090
,即可访问
至此本地安装完成,可用多端用多账号登录,相互聊天,体验非常好。有任何疑问欢迎评论区沟通。
参考
[1]Docker安装MySQL:5.7 Docker下安装MySQL
[2]Docker 安装 Redis
[3]go下载
[4]Docker Compose方式部署
[5]『MinIO』在Docker中快速部署MinIO
[6]什么是唐僧叨叨