RoadRunner هو خادم تطبيقات PHP عالي الأداء مفتوح المصدر (مرخص من معهد ماساتشوستس للتكنولوجيا)، ومدير عمليات مكتوب بلغة Go ومدعوم بمكونات إضافية. وهو يدعم التشغيل كخدمة مع القدرة على توسيع وظائفه على أساس كل مشروع باستخدام المكونات الإضافية.
يتميز RoadRunner بمجموعة من المكونات الإضافية، بما في ذلك خوادم HTTP(S)/2/3
و fCGI
المتوافقة مع معايير PSR-7/PSR-17. وهذه مجرد واحدة من قدراتها العديدة. إنه بمثابة بديل فعال لإعداد Nginx+FPM التقليدي، مما يوفر أداءً محسنًا ومزيدًا من المرونة. تتجاوز خيارات المكونات الإضافية الشاملة خوادم HTTP(S)/2/3
و fCGI
، حيث تقدم مجموعة واسعة من الوظائف:
gRPC
، http
، jaeger
).gRPC
. ولزيادة السرعة، يمكن استخدام امتداد protobuf
.HTTP(S)/2/3
و fCGI
بإدارة TLS التلقائية ودعم 103 تلميحات مبكرة وبرامج وسيطة مثل: Static وHeaders وgzip وprometheus (metrics) وsend (x-sendfile) وOTEL وproxy_ip_parser وما إلى ذلك.الموقع الرسمي | التوثيق | المنتدى | جدول الإصدار | اسأل RoadRunner المعلم
أسهل طريقة للحصول على أحدث إصدار من RoadRunner هي استخدام أحد ثنائيات الإصدار المعدة مسبقًا، والمتوفرة لأنظمة التشغيل OSX وLinux وFreeBSD وWindows. توجد تعليمات استخدام هذه الثنائيات على صفحة إصدارات GitHub.
للحصول على الملف الثنائي roadrunner، يمكنك استخدام صورة عامل الإرساء الخاصة بنا: ghcr.io/roadrunner-server/roadrunner:2024.XX
(يمكن العثور على مزيد من المعلومات حول الصورة والعلامات هنا).
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
التكوين الموجود في الملف .rr.yaml
(عينة كاملة):
يمكنك أيضًا تثبيت RoadRunner تلقائيًا باستخدام الأمر المرفق مع حزمة الملحن، قم بتشغيل:
composer require spiral/roadrunner-cli
./vendor/bin/rr get-binary
سيكون الخادم الثنائي متاحًا في جذر مشروعك.
ملحوظة
ملحقات PHP
php-curl
وphp-zip
مطلوبة لتنزيل RoadRunner تلقائيًا. يجب تثبيت ملحقاتphp-sockets
لتشغيل برنامج roadrunner. تحقق من خلالphp --modules
الإضافات المثبتة لديك.
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
يمكن العثور على التكوين في ملف .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
اقرأ المزيد في التوثيق.
<?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 );
}
}
مهم
إذا رأيت خطأ EOF
، فتأكد من تثبيت حزم PHP من هذه الخطوة. إذا لم يساعد ذلك، فحاول تنفيذ الأمر php worker.php
مباشرة وتحقق من الإخراج.
لتشغيل خادم التطبيقات:
$ ./rr serve -c .rr.yaml
رخصة معهد ماساتشوستس للتكنولوجيا (MIT). يرجى الاطلاع على LICENSE
لمزيد من المعلومات. تتم صيانته بواسطة Spiral Scout.
شكرا لجميع الناس الذين ساهموا بالفعل!