75 lines
2.6 KiB
PHP
75 lines
2.6 KiB
PHP
<?php
|
||
|
||
declare(strict_types=1);
|
||
|
||
use Hyperf\Framework\Bootstrap\PipeMessageCallback;
|
||
use Hyperf\Framework\Bootstrap\WorkerExitCallback;
|
||
use Hyperf\Framework\Bootstrap\WorkerStartCallback;
|
||
use Hyperf\JsonRpc\HttpServer;
|
||
use Hyperf\Server\Event;
|
||
use Hyperf\Server\Server;
|
||
use Swoole\Constant;
|
||
|
||
use function Hyperf\Support\env;
|
||
|
||
return [
|
||
'mode' => SWOOLE_PROCESS,
|
||
'servers' => [
|
||
[
|
||
'name' => 'http',
|
||
'type' => Server::SERVER_HTTP,
|
||
'host' => '0.0.0.0',
|
||
'port' => 9501,
|
||
'sock_type' => SWOOLE_SOCK_TCP,
|
||
'callbacks' => [
|
||
Event::ON_REQUEST => [Hyperf\HttpServer\Server::class, 'onRequest'],
|
||
],
|
||
'options' => [
|
||
// Whether to enable request lifecycle event
|
||
'enable_request_lifecycle' => false,
|
||
],
|
||
],
|
||
[
|
||
'name' => 'jsonrpc-http',
|
||
'type' => Server::SERVER_HTTP,
|
||
'host' => env('JSON_RPC_HOST', '0.0.0.0'),
|
||
'port' => (int) env('JSON_RPC_PORT', 9620),
|
||
'sock_type' => SWOOLE_SOCK_TCP,
|
||
'callbacks' => [
|
||
Event::ON_REQUEST => [HttpServer::class, 'onRequest'],
|
||
],
|
||
'settings' => [
|
||
'open_eof_split' => true,
|
||
'package_eof' => "\r\n",
|
||
'package_max_length' => 1024 * 1024 * 2,
|
||
],
|
||
'options' => [
|
||
// Whether to enable request lifecycle event
|
||
'enable_request_lifecycle' => false,
|
||
],
|
||
],
|
||
],
|
||
'settings' => [
|
||
Constant::OPTION_ENABLE_COROUTINE => true,
|
||
Constant::OPTION_WORKER_NUM => (int) env('SWOOLE_WORKER_NUM', swoole_cpu_num()), // swoole_cpu_num(),
|
||
Constant::OPTION_PID_FILE => BASE_PATH . '/runtime/hyperf.pid',
|
||
Constant::OPTION_OPEN_TCP_NODELAY => true,
|
||
Constant::OPTION_MAX_COROUTINE => 100000,
|
||
Constant::OPTION_OPEN_HTTP2_PROTOCOL => true,
|
||
Constant::OPTION_MAX_REQUEST => 100000,
|
||
Constant::OPTION_SOCKET_BUFFER_SIZE => 2 * 1024 * 1024,
|
||
Constant::OPTION_BUFFER_OUTPUT_SIZE => 2 * 1024 * 1024,
|
||
],
|
||
'callbacks' => [
|
||
Event::ON_WORKER_START => [WorkerStartCallback::class, 'onWorkerStart'],
|
||
Event::ON_PIPE_MESSAGE => [PipeMessageCallback::class, 'onPipeMessage'],
|
||
Event::ON_WORKER_EXIT => [WorkerExitCallback::class, 'onWorkerExit'],
|
||
],
|
||
// 健康检查配置(供Nacos检测服务状态)
|
||
'health_check' => [
|
||
'enable' => true,
|
||
'path' => '/health',
|
||
'interval' => 3,
|
||
],
|
||
];
|