36 lines
1.2 KiB
PHP
Executable File
36 lines
1.2 KiB
PHP
Executable File
#!/usr/bin/env php
|
|
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
use LayLink\Server\PopServer;
|
|
use LayLink\Protocol\FrameCodec;
|
|
use LayLink\Util\Env;
|
|
use Workerman\Worker;
|
|
|
|
require dirname(__DIR__) . '/vendor/autoload.php';
|
|
|
|
Env::load(dirname(__DIR__) . '/.env');
|
|
FrameCodec::configureEncryption(
|
|
Env::get('LAYLINK_FRAME_ENCRYPTION', 'none'),
|
|
Env::get('LAYLINK_FRAME_ENCRYPTION_KEY', ''),
|
|
);
|
|
Worker::$logFile = dirname(__DIR__) . '/runtime/workerman.log';
|
|
Worker::$pidFile = dirname(__DIR__) . '/runtime/pop-server.pid';
|
|
|
|
$server = new PopServer(
|
|
Env::get('POP_AGENT_LISTEN', '0.0.0.0:9001'),
|
|
require dirname(__DIR__) . '/config/nodes.php',
|
|
require dirname(__DIR__) . '/config/policies.php',
|
|
Env::csv('POP_ALLOWED_AGENT_TRANSPORTS', ['tcp']),
|
|
Env::get('AUDIT_LOG', dirname(__DIR__) . '/runtime/audit.log'),
|
|
Env::int('LAYLINK_MAX_SEND_BUFFER_BYTES', 64 * 1024 * 1024, 1024 * 1024),
|
|
Env::int('LAYLINK_BACKPRESSURE_HIGH_WATERMARK_BYTES', 32 * 1024 * 1024, 512 * 1024),
|
|
Env::int('LAYLINK_DATA_CHUNK_BYTES', 1024 * 1024, 16 * 1024, 8 * 1024 * 1024),
|
|
Env::int('POP_AGENT_TCP_WORKERS', 1, 1, 64),
|
|
Env::int('POP_AGENT_KCP_WORKERS', 1, 1, 1),
|
|
);
|
|
$server->boot();
|
|
|
|
Worker::runAll();
|