基于 hyperf 微服务框架 +layim 开发的一套聊天系统!
简介
hyperf-im 是基于 Hyperf 微服务协程框架和 Layim 网页聊天系统 所开发出来的聊天室。
体验地址
功能
Github
- 登录注册(Http)
- 单点登录(Websocket)
- 私聊(Websocket)
- 群聊(Websocket)
- 在线人数(Websocket)
- 获取未读消息(Websocket)
- 好友在线状态(Websocket)
- 握手鉴权(Websocket)
- 好友 查找 添加 同意 拒绝(Http+Websocket)
- 群 创建 查找 添加 同意 拒绝(Http+Websocket)
- 聊天记录存储
- 心跳检测
- 消息重发
- 断线重连
- 发送图片及文件
Requirement
部署方式
Composer
composer update
env 配置
vim .env
WS_URL=wss://im.jayjay.cn/im APP_URL=https://im.jayjay.cn STORAGE_IMG_URL= STORAGE_FILE_URL=
nginx 配置
server{ listen 80; server_name im.jayjay.cn; return 301 https://$server_name$request_uri; } server{ listen 443 ssl; root /data/wwwroot/; add_header Strict-Transport-Security "max-age=31536000"; server_name im.jayjay.cn; access_log /data/wwwlog/im.jayjay.cn.access.log; error_log /data/wwwlog/im.jayjay.cn.error.log; client_max_body_size 100m; ssl_certificate /etc/nginx/ssl/full_chain.pem; ssl_certificate_key /etc/nginx/ssl/private.key; ssl_session_timeout 5m; ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3; ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE; location / { proxy_pass http://127.0.0.1:9501; proxy_set_header Host $host:$server_port; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Real-PORT $remote_port; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } location /im { proxy_pass http://127.0.0.1:9502; proxy_http_version 1.1; proxy_read_timeout 3600s; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; } location ~ .*\.(js|ico|css|ttf|woff|woff2|png|jpg|jpeg|svg|gif|htm)$ { root /data/wwwroot/IM/public; } }
Start
- 挂起
php bin/hyperf.php start
TODO
1. 完善整体项目
2. 加入 webrtc (视频聊天)
更多内容请访问: