
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.debcurl --proto ' =https ' --tlsv1.2 -sSf https://raw.githubusercontent.com/roadrunner-server/roadrunner/master/download-latest.sh | shbrew install roadrunnerchoco 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.
شكرا لجميع الناس الذين ساهموا بالفعل!