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

前端配置

socket域名配置

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

  1. const LIVESOKECT = 'wss://xxxx:8273/';
  2. 域名:xxxx,跟换为自己的
  3. 默认端口号:8273,一般不需更换
  4. ![1.png](/projects/live_streaming_deployment/202404/17c9698847f1459e.png "1.png")
  5. ## 后端配置
  6. ### 文件路径
  7. 站点根目录/im/
  8. ### SSL证书配置
  9. **socket默认启用SSL证书配置,**文件位置:根目录/im/Applications/Front/start_gateway.php
  10. ```php
  11. $context = array(
  12. 'ssl' => array(
  13. 'local_cert' => '/项目地址/ssl/full_chain.pem',
  14. 'local_pk' => '/项目地址/ssl/private.key',
  15. 'verify_peer' => false,
  16. )
  17. );

Socket数据库配置

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

PHP设置

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

安装Redis

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

放行端口

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

启动socket服务

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

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

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

启动命令(调试模式):

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

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

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