一个简单的Web即时通信软件(Instant Messaging,IM)
# 也可以使用 https://gitee.com/suixibing/IM-xixi.git
$ git clone https://github.com/suixibing/IM-xixi.git$ cd IM-xixi
$ ./build.sh# 编译前请先准备好如下目录并保证执行者对其有写权限。
# 注意环境变量 export PATH=$PATH:/usr/local/app/bin
# /usr/local/app
# /usr/local/app/bin
# /data
$ ./install.sh**注意:**默认使用如下配置连接数据库,运行前请先准备好相关的数据库(程序会自动建表),或者更改默认的配置。
root:123456@(127.0.0.1:3306)/chat_xixi?charset=utf8
**注意:**默认使用80端口进行启动,请保证端口不被占用且有相应的权限。
$ IM-xixi run**注意:**会关闭所有的同名程序。
$ IM-xixi stoplatest中仅支持最低限度运行的环境,可以通过下载发布包更新服务。 要想自行编译最新版本进行测试,可以选择dev_base版本的镜像。
$ docker pull suixibing/chat_xixi:latest$ docker run -itd --name chat_xixi -v /data/IM-xixi/mnt:/data/IM-xixi/mnt --network host suixibing/chat_xixi:latest参数说明:
| --name | 容器的名称 |
|---|---|
| -v [宿主机地址]:[容器中地址] | 将宿主机上的目录映射到容器中 |
| --network | 共享主机的网络ip |
可以根据需要自己配置合适的参数
$ docker exec -it chat_xixi /bin/bash #进入容器
$ IM-xixi run #启动服务
$ exit #退出容器# 这是一个最简单可以启动本服务的mysql镜像(version 5.7),仅有创建有最基本的database
# 并且数据集使用了utf8,可以支持显示中文不乱码
$ docker pull suixibing/chat_xixi:mysql
# 将宿主机的3306端口映射到容器中,root密码为123456
$ docker run -itd -p 3306:3306 -e MYSQL\_ROOT\_PASSWORD=123456 --name chat_mysql suixibing/chat_xixi:mysql
# 使用如下命令可以进入mysql容器
$ docker exec -it chat_mysql /bin/bash
# 也可以直接在宿主机中直接登录mysql
$ mysql -h'127.0.0.1' -P'3306' -u'root' -p'123456'此时使用的是宿主机的client登陆mysql,所以数据在本地出现了乱码,可以使用如下命令检查此时的字符集。
mysql> show variables like '%char%';如果出现latin1,可以通过在my.cnf中添加如下配置解决:
[mysqld]
character-set-server=utf8
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8上传的文件会保存到/data/${IM_NAME}/mnt下,服务会创建软链接到该目录,请保证运行用户有该目录的写权限。
修改comm.sh中的变量时别忘了一起修改control.sh中的变量。