Процессы и управление сервером
Server::runAll() регистрирует listener-ы и запускает runtime. В Unix многопроцессном режиме master управляет worker-ами; workers принимают и обрабатывают соединения. При count = 1 сервер работает одним worker-ом. Команды и процедуры обновления для текущей версии описаны ниже.
Master
PID · команды · контроль жизненного цикла
Worker A
listener → event loop → callbacks
Worker B … N
отдельная память и собственные таймеры
Настройка workers
$server = new Server('http://0.0.0.0:8080');
$server->name = 'api';
$server->count = 4;
$server->maxRequests = 10_000;
$server->maxLifetime = 3600;
$server->maxMemory = 256 * 1024 * 1024;
$server->maxConnections = 10_000;
$server->idleTimeout = 60;
$server->frameTimeout = 15;
$server->tlsHandshakeTimeout = 10;
Эти защитные лимиты настраиваются приложением. Подбирайте их под размер сообщения и ожидаемую работу; нулевые или default значения не следует считать универсальной production-политикой.
Команды
Управляйте сервером из того же entry file:
php server.php start
php server.php start -d
php server.php status --json
php server.php connections --json
php server.php capabilities --json
php server.php reload
php server.php reload -g
php server.php upgrade
php server.php restart -g
php server.php stop -g
reloadпоследовательно заменяет workers, но workers наследуют код уже загруженного master-а. Он не перечитывает bootstrap приложения.upgradeна поддерживаемых Unix runtime повторно выполняет entry file черезpcntl_exec(), восстанавливает listener descriptors и rolling-replaces workers. Сохраняются PID master-а и listener topology.- Если меняется набор listeners или их параметры, используйте
restart -g. SIGTERM— graceful drain;SIGINT— быстрая остановка.
Перед автоматизацией проверьте фактическую среду командами status --json и capabilities --json. Для supervisor сигналов убедитесь, что посылаете их master-процессу.

