composer installcp .env.example .env# Download RoadRunner binary
composer rr:download
# Chạy development mode (với hot reload)
composer rr:serve:dev
# Hoặc production mode
composer rr:serveTruy cập: http://localhost:8080
composer serveTruy cập: http://localhost:8000
- Point document root →
public/ - Enable
.htaccess(Apache) hoặc dùngnginx.conf.example - Truy cập qua domain của bạn
GET /- Home page với thông tin hệ thốngGET /health- Health check (JSON)GET /info- System information (JSON)GET /state-demo- State management demo (interactive)
Truy cập /state-demo để xem sự khác biệt giữa:
- Stateless (Traditional): Counter reset mỗi request
- Stateful (RoadRunner): Persistent counter tăng qua các requests
Framework tự động detect và hiển thị:
- Environment type (RoadRunner vs Traditional)
- PHP version
- Server software
- Memory usage
- Uptime
- README.md - Hướng dẫn đầy đủ
- ARCHITECTURE.md - Kiến trúc và design patterns
- app/State/README.md - State management
- app/Lifecycle/README.md - Lifecycle management
Code tự động reload khi thay đổi file .php trong app/ và public/:
composer rr:serve:devSet trong .env:
APP_DEBUG=true
APP_ENV=developmentEdit app/Http/Kernel.php:
if ($path === '/my-route') {
return $this->handleMyRoute($request);
}$state = $app->state();
$state->set('key', 'value');
$value = $state->get('key');class CustomLifecycle extends RoadRunnerLifecycle
{
protected function bootServices(): void
{
// Your custom boot logic
}
}- ✅ Services boot 1 lần, reuse cho tất cả requests
- ✅ Nhanh hơn 5-10x so với PHP-FPM
- ✅ Connection pooling tự động
- ✅ Hot reload trong development
- ✅ Dễ debug
- ✅ Chạy trên shared hosting
- ✅ Không cần cài đặt thêm
- ✅ Compatible với mọi web server
# Re-download binary
composer rr:download
# Check config
cat .rr.yamlEdit .rr.yaml:
http:
address: 127.0.0.1:8081 # Đổi portEdit .rr.yaml:
http:
pool:
max_worker_memory: 256 # Tăng limit$stats = $app->lifecycle()->getWorkerStats();http://localhost:2112/metrics
- Đọc ARCHITECTURE.md để hiểu design patterns
- Xem State Management để quản lý state
- Tìm hiểu Lifecycle để tối ưu performance
- Bắt đầu code! 🚀