*socket后端程序采用wokerman框架(http://doc.workerman.net/

前端配置

一般情况不需要修改配置
直播间socket配置:

  1. 客服聊天通用配置 在下方url中配置相关sokect接口地址
    路径:根目录/utils/socket.js

    1. webSocket.ws = uni.connectSocket({
    2. url: 'wss://wosmart.s1107.com:8275',
    3. header: {
    4. 'content-type': 'application/json'
    5. },
  2. 直播间websocket配置(替换下面wss://接口地址)
    路径:根目录/pages/live/AudienceSub.nvue

    1. initWebsocket (token, room) {
    2. ws.WebSocket('wss://wosmart.s1107.com:8273','')
    3. ws.onmessage(res => {
    4. let data = JSON.parse(res.data)
    5. if (WXEnvironment.platform === 'iOS') {
    6. data = JSON.parse(res.data)
    7. }

    后端配置

    直播间socket文件目录:根目录/gatewayworkeralive/
    客服socket文件目录:根目录/gatewayworker/
    socket默认启用SSL证书配置
    文件位置:根目录/gatewayworkeralive/Applications/YourApp/start_gateway.php

    1. $context = array(
    2. 'ssl' => array(
    3. 'local_cert' => '/项目地址/ssl/full_chain.pem',
    4. 'local_pk' => '/项目地址/ssl/private.key',
    5. 'verify_peer' => false,
    6. )
    7. );

    将域名的SSL证书放在对应目录,不要使用宝塔生成的免费ssl证书(存在兼容问题),需要购买宝塔付费商业版SSL证书,大概70多块,不显示的话升级控制面板在站点里面购买
    image.png
    服务器放行端口:8273,8275
    开启Redis服务,端口设置为:6379

    修改RedisPsubscribe.php中的数据库配置

    6.socket配置(直播间聊天和客服聊天) - 图2
    启动socket服务:
    直播间socket启动方法:
    php /网站目录/gatewayworkeralive/start.php restart
    客服socket启动方法:
    php /网站目录/gatewayworker/start.php restart
    socket回调启动方法:
    php /网站目录/application/admin/services/RedisPsubscribe.php