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

前端配置

socket域名配置

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

  1. const LIVESOKECT = 'wss://demo.xun-hu.net:8273/';
  2. 域名:demo.xun-hu.net,跟换为自己的
  3. 默认端口号:8273,一般不需更换

image.png

后端配置

文件路径

站点根目录/im/

SSL证书配置

socket默认启用SSL证书配置,文件位置:根目录/im/Applications/Front/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. );

Socket数据库配置

修改数据库配置:根目录/im/Applications/Front/Events.php image (1).png

PHP设置

服务器端PHP版本必须解禁函数:pcntl_signal、pcntl_signal_dispatch、pcntl_fork、pcntl_wait、pcntl_alarm image (2).png PHP安装Redis扩展 image (3).png

安装Redis

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

放行端口

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

启动socket服务

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

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

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

启动命令(调试模式):

开发环境使用调试模式 代码中echo、var_dump、print等打印函数会直接输出在终端; 异常信息会直接输出在终端;

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

*建议:在宝塔面板-计划任务,创建一个任务 启动socket脚本.png