代码拉取完成,页面将自动刷新
同步操作将从 gzydong/hyperf-chat 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
Lumen-IM 是一个网页版在线即时聊天项目,前端使用 Element-ui + Vue ,后端使用 PHP + Swoole 进行开发。项目后端采用 Hyperf 框架。
composer install
命令 [项目根目录下执行]php bin/hyperf.php system:install
php bin/hyperf.php start
注 :[项目运行之前请确保 MySQL、Redis 及 Nginx 服务]
upstream hyperf_http {
# Hyperf HTTP Server 的 IP 及 端口
server 127.0.0.1:9503;
}
server {
# 监听端口
listen 80;
# 绑定的域名,填写您的域名
server_name im-serve.xxx.com;
location / {
client_max_body_size 20m;
# 将客户端的 Host 和 IP 信息一并转发到对应节点
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# 转发Cookie,设置 SameSite
proxy_cookie_path / "/; secure; HttpOnly; SameSite=strict";
# 执行代理访问真实服务器
proxy_pass http://hyperf_http;
}
}
# 至少需要一个 Hyperf 节点,多个配置多行
upstream hyperf_websocket {
server 127.0.0.1:9504;
}
server {
listen 80;
server_name im-socket.xxx.com;
location / {
# WebSocket Header
proxy_http_version 1.1;
proxy_set_header Upgrade websocket;
proxy_set_header Connection "Upgrade";
# 将客户端的 Host 和 IP 信息一并转发到对应节点
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
# 客户端与服务端无交互 60s 后自动断开连接,请根据实际业务场景设置
proxy_read_timeout 60s ;
# 执行代理访问真实服务器
proxy_pass http://hyperf_websocket;
}
}
server {
listen 80;
server_name im-img.xxx.xxx;
index index.html;
# 默认禁止访问
location / {
deny all;
}
# 只允许 访问 images 文件夹下的文件
location ^~ /media/{
# 设置目录别名(确保是项目上传文件目录)
# 例如 upload_dir = /www/data/lumenim
# 此时应配置 alias /www/data/lumenim/media/
alias /www/data/lumenim/media/;
# 设置缓存时间(3天)
expires 3d;
# 关闭访问日志
access_log off;
}
}
https://github.com/gzydong/LumenIM
[root@iZuf6cs69fbc86cwpu9iv3Z vhost]# php --ri swoole
swoole
Swoole => enabled
Author => Swoole Team <team@swoole.com>
Version => 4.5.9
...
openssl => OpenSSL 1.0.2k-fips 26 Jan 2017 (请确保此处开启)
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。