A set of chat system based on the hyper f microservice framework + layim!

brief introduction

hyperf-im Is based on Hyperf Microservice collaboration framework and Layim Chat room developed by web chat system.

Experience address

hyperf-im im.jayjay.cn

function

Github

hyperf-im

  • Sign in (Http)
  • Single sign on (Websocket)
  • Private chat (Websocket)
  • Group chat (Websocket)
  • Number of people online (Websocket)
  • Get unread message (Websocket)
  • Friends online status (Websocket)
  • Handshake authentication (Websocket)
  • Friend lookup add consent deny (Http+Websocket)
  • Group creation lookup add consent deny (Http+Websocket)
  • Chat record storage
  • Heartbeat detection
  • message replay
  • Disconnection reconnection
  • Send pictures and documents

Requirement

Deployment mode

Composer

composer update

env configuration

vim .env

WS_URL=wss://im.jayjay.cn/im
APP_URL=https://im.jayjay.cn
STORAGE_IMG_URL=
STORAGE_FILE_URL=

  

 

nginx configuration

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

  • Pending
php bin/hyperf.php start

  

TODO

1. Improve the overall project
2. Join webrtc (video chat)

 

For more information visit:

Tencent T3-T4 standard boutique PHP architect tutorial directory, as long as you read it to ensure a higher salary (continuous update)

Tags: PHP Nginx SSL github

Posted on Tue, 02 Jun 2020 11:34:34 -0400 by nic0las