
RoadRunner adalah server aplikasi PHP berkinerja tinggi sumber terbuka (berlisensi MIT), manajer proses yang ditulis dalam Go dan didukung dengan plugin. Ini mendukung berjalan sebagai layanan dengan kemampuan untuk memperluas fungsinya berdasarkan per proyek dengan plugin.
RoadRunner dilengkapi berbagai plugin, termasuk server HTTP(S)/2/3 dan fCGI yang kompatibel dengan standar PSR-7/PSR-17. Ini hanyalah salah satu dari sekian banyak kemampuannya. Ini berfungsi sebagai alternatif efektif terhadap pengaturan Nginx+FPM tradisional, memberikan peningkatan kinerja dan lebih banyak fleksibilitas. Opsi pluginnya yang luas lebih dari sekadar server HTTP(S)/2/3 dan fCGI , menawarkan beragam fungsi:
gRPC , http , jaeger ).gRPC . Untuk meningkatkan kecepatan, ekstensi protobuf dapat digunakan.HTTP(S)/2/3 dan fCGI memiliki fitur manajemen TLS otomatis , dukungan 103 Petunjuk Awal dan middleware seperti: Static, Headers, gzip, prometheus (metrik), send (x-sendfile), OTEL, proxy_ip_parser, dll.Situs Resmi | Dokumentasi | Forum | Jadwal rilis | Tanyakan pada Guru Pelari Jalan
Cara termudah untuk mendapatkan versi RoadRunner terbaru adalah dengan menggunakan salah satu binari rilis bawaan, yang tersedia untuk OSX, Linux, FreeBSD, dan Windows. Petunjuk untuk menggunakan biner ini ada di halaman rilis GitHub.
Untuk mendapatkan file biner roadrunner Anda dapat menggunakan gambar buruh pelabuhan kami: ghcr.io/roadrunner-server/roadrunner:2024.XX (informasi lebih lanjut tentang gambar dan tag dapat ditemukan di sini).
FROM ghcr.io/roadrunner-server/roadrunner:2024.X.X AS roadrunner
FROM php:8.3-cli
COPY --from=roadrunner /usr/bin/rr /usr/local/bin/rr
# USE THE RR Konfigurasi terletak di file .rr.yaml (contoh lengkap):
Anda juga dapat menginstal RoadRunner secara otomatis menggunakan perintah yang dikirimkan bersama paket komposer, jalankan:
composer require spiral/roadrunner-cli
./vendor/bin/rr get-binaryBiner server akan tersedia di root proyek Anda.
Catatan
Ekstensi PHP
php-curldanphp-zipdiperlukan untuk mengunduh RoadRunner secara otomatis. Ekstensi PHPphp-socketsperlu diinstal untuk menjalankan roadrunner. Periksa denganphp --modulesekstensi yang Anda pasang.
wget https://github.com/roadrunner-server/roadrunner/releases/download/v2024.X.X/roadrunner-2024.X.X-linux-amd64.deb
sudo dpkg -i roadrunner-2024.X.X-linux-amd64.debcurl --proto ' =https ' --tlsv1.2 -sSf https://raw.githubusercontent.com/roadrunner-server/roadrunner/master/download-latest.sh | shbrew install roadrunnerchoco install roadrunner Konfigurasi dapat ditemukan di file .rr.yaml (contoh lengkap):
version : ' 3 '
rpc :
listen : tcp://127.0.0.1:6001
server :
command : " php worker.php "
http :
address : " 0.0.0.0:8080 "
logs :
level : errorBaca selengkapnya di Dokumentasi.
<?php
use Spiral RoadRunner ;
use Nyholm Psr7 ;
include " vendor/autoload.php " ;
$ worker = RoadRunner Worker:: create ();
$ psrFactory = new Psr7 Factory Psr17Factory ();
$ worker = new RoadRunner Http PSR7Worker ( $ worker , $ psrFactory , $ psrFactory , $ psrFactory );
while ( $ req = $ worker -> waitRequest ()) {
try {
$ rsp = new Psr7 Response ();
$ rsp -> getBody ()-> write ( ' Hello world! ' );
$ worker -> respond ( $ rsp );
} catch ( Throwable $ e ) {
$ worker -> getWorker ()-> error (( string ) $ e );
}
}Penting
Jika Anda melihat kesalahan EOF , periksa apakah Anda telah menginstal paket PHP dari langkah ini. Jika ini tidak membantu, coba jalankan perintah php worker.php secara langsung dan periksa hasilnya.
Untuk menjalankan server aplikasi:
$ ./rr serve -c .rr.yaml
Lisensi MIT (MIT). Silakan lihat LICENSE untuk informasi lebih lanjut. Dikelola oleh Spiral Scout.
Terima kasih kepada semua orang yang telah berkontribusi!