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-binary
Biner server akan tersedia di root proyek Anda.
Catatan
Ekstensi PHP
php-curl
danphp-zip
diperlukan untuk mengunduh RoadRunner secara otomatis. Ekstensi PHPphp-sockets
perlu diinstal untuk menjalankan roadrunner. Periksa denganphp --modules
ekstensi 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.deb
curl --proto ' =https ' --tlsv1.2 -sSf https://raw.githubusercontent.com/roadrunner-server/roadrunner/master/download-latest.sh | sh
brew install roadrunner
choco 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 : error
Baca 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!