本文作者:DurkBlue

利用后端websocket服务框架之一GateWayWorker搭建websocket即时通讯项目推荐

DurkBlue 2023-01-06 1227
利用后端websocket服务框架之一GateWayWorker搭建websocket即时通讯项目摘要:         先要让一个端口设置为websocket客户端的启动端口,这里demo选用的是8273...

        先要让一个端口设置为websocket客户端的启动端口,这里demo选用的是8273端口

        配置websocket长连接服务协议

        博主自己采用的是nginx服务器

        nginx配置websocket配置文件如下:


                   #websockt长连接协议
            location /wss{
              proxy_pass http://47.99.33.91:8273;#8273客户端启动端口
              proxy_http_version 1.1;
              proxy_set_header Upgrade $http_upgrade;
              proxy_set_header Connection "Upgrade";
              proxy_read_timeout 1200s;
            }
            #添加这三行
            proxy_buffer_size 64k;
            proxy_buffers   32 32k;
            proxy_busy_buffers_size 128k;
            #添加这三行

        

     后端im源码下载 

        链接:https://pan.baidu.com/s/1zq47MrTtb1ifT3bogJHOcQ 

        提取码:tlg7




      后端socket采用GatewayWorker框架(官方文档:http://doc4.workerman.net/642185

        上手之前请先对GatewayWorker框架有基本了解。

     后端sokcet主要用来实现直播间聊天、客服聊天、直播间管理等功能;

     后端文件目录:根目录/im/

     利用后端websocket服务框架之一GateWayWorker搭建websocket即时通讯项目  第1张

        socket脚本启动方式,在命令行中

        

                php /网站目录/im/start.php start //以debug(调试)方式启动
        php /网站目录/im/start.php start -d //以daemon(守护进程)方式启动


        了解更多命令操作和不同命令的区别,请查看框架文档:http://doc4.workerman.net/326106

        利用后端websocket服务框架之一GateWayWorker搭建websocket即时通讯项目  第2张


    

*socket后端程序采用GatewayWorker框架(开发手册:http://doc4.workerman.net/642185

前端配置

socket域名配置

前端根目录/config/index.js中配置sokect接口域名

const LIVESOKECT = 'wss://woshop.s1107.com:8273/';  
域名:woshop.s1107.com,跟换为自己的
默认端口号:8273,一般不需更换

利用后端websocket服务框架之一GateWayWorker搭建websocket即时通讯项目  第3张

后端配置

文件路径

站点根目录/im/

SSL证书配置

socket默认启用SSL证书配置,文件位置:根目录/im/Applications/Front/start_gateway.php

$context = array(
    'ssl' => array(
        'local_cert'  => '/项目地址/ssl/full_chain.pem',
        'local_pk'    => '/项目地址/ssl/private.key',
        'verify_peer' => false,
    )
);

Socket数据库配置

修改数据库配置:根目录/im/Applications/Front/Events.php


利用后端websocket服务框架之一GateWayWorker搭建websocket即时通讯项目  第4张


PHP设置

服务器端PHP版本必须解禁函数:pcntl_signal、pcntl_signal_dispatch、pcntl_fork、pcntl_wait、pcntl_alarm

利用后端websocket服务框架之一GateWayWorker搭建websocket即时通讯项目  第5张

PHP安装Redis扩展

利用后端websocket服务框架之一GateWayWorker搭建websocket即时通讯项目  第6张

安装Redis

服务器安装Redis(端口默认设置为:6379)

利用后端websocket服务框架之一GateWayWorker搭建websocket即时通讯项目  第7张

放行端口

服务器安全组和宝塔面板都要放行端口:8273

启动socket服务

启动命令(守护进程模式):

生产环境使用守护进程模式

php /网站目录/im/start.php restart -d

启动命令(调试模式):

开发环境使用调试模式

代码中echo、var_dump、print等打印函数会直接输出在终端;

异常信息会直接输出在终端;

php /网站目录/im/start.php restart

*建议:在宝塔面板-计划任务,创建一个任务

利用后端websocket服务框架之一GateWayWorker搭建websocket即时通讯项目  第8张


此篇文章由DurkBlue博主亲自发布,转载请注明来处哟
文章投稿或转载声明

来源:DurkBlue版权归原作者所有,转载请保留出处。本站文章发布于 2023-01-06
温馨提示:文章内容系作者个人观点,不代表DurkBlue博客对其观点赞同或支持。

赞(0)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

阅读
分享