소개
RoadRunner은 Spiral Scout에서 개발한 오픈소스 고성능 PHP 애플리케이션 서버입니다. Go로 작성된 프로세스 매니저이며, 플러그인 기반 아키텍처를 통해 HTTP, gRPC, 큐, 워크플로우 등 다양한 기능을 확장할 수 있습니다. 전통적인 Nginx+FPM 설정을 대체하여 더 높은 성능과 유연성을 제공하며, Windows를 포함한 크로스플랫폼 환경을 지원합니다.
상세정보
HTTP(S)/2/3 및 fCGI 서버
PSR-7/PSR-17 표준과 호환되는 HTTP 서버를 제공하며, 자동 TLS 관리, 103 Early Hints 지원, 다양한 미들웨어(Static, Headers, gzip, Prometheus 메트릭스, OTEL 등)를 포함합니다.
큐 및 키-값 드라이버
RabbitMQ, Kafka, SQS, Beanstalk, NATS, In-Memory 등을 지원하는 큐 드라이버와 Redis, Memcached, BoltDB, In-Memory를 지원하는 KV 드라이버를 제공합니다.
고급 기능
OpenTelemetry 프로토콜 지원(gRPC, HTTP, Jaeger), Temporal을 통한 워크플로우 엔진, gRPC 서버, 분산 락 플러그인, 메트릭스 서버, WebSocket 및 Broadcast(Centrifugo 통합), Systemd 유사 서비스 관리자(자동 재시작, 실행 시간 제한자 등)를 포함합니다.
다운로드·설치 방법
Windows 사용자는 Chocolatey 패키지 관리자를 통해 간단히 설치할 수 있습니다. 관리자 권한으로 PowerShell 또는 CMD를 열고 다음 명령을 실행합니다:
choco install roadrunner
이 명령은 최신 안정 버전의 RoadRunner 바이너리를 다운로드하고 시스템 경로에 등록합니다. 설치 후 rr 명령을 통해 서버를 제어할 수 있습니다.
기본 사용법/명령어
설치 후 프로젝트 루트에서 .rr.yaml 설정 파일을 생성하여 서버를 설정할 수 있습니다. 기본 설정 예시는 다음과 같습니다:
version: '3' rpc: listen: tcp://127.0.0.1:6001 server: command: "php worker.php" http: address: "0.0.0.0:8080" logs: level: error
설정이 완료되면 다음 명령으로 서버를 시작합니다:
./rr serve -c .rr.yaml
또는 Docker를 사용할 경우:
FROM ghcr.io/roadrunner-server/roadrunner:2025.X.X AS roadrunner FROM php:8.3-cli COPY --from=roadrunner /usr/bin/rr /usr/local/bin/rr
이런 경우에 유용합니다
고 트래픽 PHP 애플리케이션에서 전통적인 Nginx+PHP-FPM 설정의 성능 한계를 겪는 개발팀에게 유용합니다. 특히 마이크로서비스 아키텍처에서 gRPC, HTTP/2, 또는 비동기 큐 처리가 필요한 경우 RoadRunner의 플러그인 기반 확장을 통해 별도의 인프라 구축 없이 기능을 추가할 수 있습니다. Docker 환경에서의 마이크로서비스 배포나 시스템 수준 프로세스 관리가 필요한 DevOps 팀에도 적합합니다.
지원 환경·시스템 요구사항
RoadRunner은 Windows, macOS, Linux, FreeBSD 및 ARM 아키텍처에서 실행 가능한 바이너리를 제공합니다. Windows에서는 Chocolatey를 통해 설치 가능하며, 실행에는 PHP 8.0 이상이 권장됩니다. 일부 플러그인(예: AMQP 기반 큐)은 해당 서비스의 별도 설치 및 구성이 필요할 수 있습니다.
최신 버전·업데이트
현재 버전은 2025.1.15이며, 정기적인 업데이트를 통해 성능 개선, 보안 패치 및 새로운 플러그인 지원이 제공됩니다. 최신 버전 정보와 업데이트 내역은 공식 GitHub 저장소의 릴리스 페이지에서 확인할 수 있습니다.
시스템 요구사항
별도의 시스템 요구사항이 등록되지 않았습니다.


