suzhif / laravel-workerman
WorkerMan and Laravel integration SDK
0.0.1
2022-02-17 00:40 UTC
Requires
- workerman/gateway-worker: ^3.0
This package is auto-updated.
Last update: 2024-04-17 08:50:33 UTC
README
WorkerMan and Laravel integration SDK.
安装
$ composer require suzhif/laravel-workerman
配置
php artisan vendor:publish --provider="Suzhif\LaravelWorkerman\WorkermanServiceProvider"
config/workerman.php
<?php return [ 'gateway' => [ 'socket_name' => 'tcp://0.0.0.0:8282', // gateway 进程的名称 'name' => 'Gateway', // gateway 进程数 'count' => 4, // 本机ip,分布式部署时使用内网ip 'lanIp' => '127.0.0.1', // 内部通讯起始端口,假如$gateway->count=4, // 起始端口为4000 则一般会使用4000 4001 4002 4003 4个端口作为内部通讯端口 'startPort' => 2000, // 服务注册地址 'registerAddress' => '127.0.0.1:1238', // 心跳间隔 /s 'pingInterval' => 10, // 心跳数据 'pingData' => '{"type":"ping"}', // 客户端不回应心跳时,1:关闭连接 'pingNotResponseLimit' => 1, ], 'business_worker' => [ // worker 名称 'name' => 'BusinessWorker', // bussinessWorker 进程数量 'count' => 4, // 服务注册地址 'registerAddress' => '127.0.0.1:1238', // 事件处理类,默认是 Event 类 'eventHandler' => \Suzhif\LaravelWorkerman\Event\Event::class, ] ];
启动
windows 系统下
项目根目录下新建文件 start_for_win.bat
:
start /b php artisan workerman start --name=register
start /b php artisan workerman start --name=gateway
start /b php artisan workerman start --name=worker
pause
双击启动
>start /b php artisan workerman start --name=register
>start /b php artisan workerman start --name=gateway
>start /b php artisan workerman start --name=worker
>pause
请按任意键继续. . . ----------------------- WORKERMAN -----------------------------
Workerman version:4.0.27 PHP version:7.3.4
------------------------ WORKERS -------------------------------
worker listen processes status
Register text://0.0.0.0:1238 1 [ok]
----------------------- WORKERMAN -----------------------------
Workerman version:4.0.27 PHP version:7.3.4
------------------------ WORKERS -------------------------------
worker listen processes status
Gateway tcp://0.0.0.0:8282 4 [ok]
----------------------- WORKERMAN -----------------------------
Workerman version:4.0.27 PHP version:7.3.4
------------------------ WORKERS -------------------------------
worker listen processes status
BusinessWorker none 4 [ok]
WorkerMan 官网:windows操作系统下如何初始化多个Worker
Linux 系统下
以debug(调试)方式启动 (start|stop|restart|reload|status)
php artisan workerman start
以daemon(守护进程)方式启动
php artisan workerman start --d
$ php artisan workerman start --d
Workerman[workerman] start in DAEMON mode
------------------------------------------ WORKERMAN ------------------------------------------
Workerman version:4.0.27 PHP version:8.0.14
------------------------------------------- WORKERS -------------------------------------------
proto user worker listen processes status
tcp admin_s Register text://0.0.0.0:1238 1 [OK]
tcp admin_s Gateway tcp://0.0.0.0:8282 4 [OK]
tcp admin_s BusinessWorker none 4 [OK]
-----------------------------------------------------------------------------------------------
Input "php workerman stop --d" to stop. Start success.
测试
通过 telnet
连接配置的连接 tcp://0.0.0.0:8282
> telnet tcp://0.0.0.0:8282
Trying 127.0.0.1...
Connected to 127.0.01.
Escape character is '^]'.
Hello 7f00000107d200000001
7f00000107d200000001 login
License
MIT