diff options
author | Valery Piashchynski <[email protected]> | 2023-03-29 17:09:45 +0200 |
---|---|---|
committer | Valery Piashchynski <[email protected]> | 2023-03-29 17:09:45 +0200 |
commit | 2767b9ae478f40b8e0968150856a4f7c9f48ff36 (patch) | |
tree | b5a2224e4bc54e3ef120018b22906bffc58fc748 /README.md | |
parent | 34f817b674e7f6a06bcaa452df02126ae0b72735 (diff) |
chore: update README.md
Signed-off-by: Valery Piashchynski <[email protected]>
Diffstat (limited to 'README.md')
-rw-r--r-- | README.md | 83 |
1 files changed, 49 insertions, 34 deletions
@@ -36,47 +36,47 @@ with much greater performance and flexibility. <a href="https://github.com/orgs/roadrunner-server/projects/1"><b>Release schedule</b></a> </p> -Features: +# Features: -------- - Production-ready -- PCI DSS compliant -- PSR-7 HTTP server (file uploads, error handling, static files, hot reload, middlewares, event listeners) +- PCI DSS compliant (HTTP plugin) +- PSR-7 HTTP server (file uploads, error handling, static files, hot reload, middleware, event listeners) - HTTPS and HTTP/2 support (including HTTP/2 Push, H2C) -- A Fully customizable server, FastCGI support +- A Fully customizable http(s)/2 server +- FastCGI support (HTTP plugin) - Flexible environment configuration -- No external PHP dependencies (64bit version required), drop-in (based on [Goridge](https://github.com/roadrunner-server/goridge)) -- Process manager and task pipeline +- No external PHP dependencies (64bit version required) - Integrated metrics (Prometheus) - [Workflow engine](https://github.com/temporalio/sdk-php) by [Temporal.io](https://temporal.io) -- Works over TCP, UNIX sockets and standard pipes -- Automatic worker replacement and safe PHP process destruction +- Works over TCP, UNIX sockets and process pipes +- Automatic worker replacement, graceful and safe PHP process destruction - Worker create/allocate/destroy timeouts -- Max jobs per worker +- Max requests per worker limitation - Worker lifecycle management (controller) - - maxMemory (graceful stop) - - TTL (graceful stop) - - idleTTL (graceful stop) - - execTTL (brute, max_execution_time) -- Payload context and body + - max_memory (graceful stop) + - ttl (graceful stop) + - idle_ttl (graceful stop) + - exec_tll (brute, max_execution_time) - Protocol, worker and job level error management (including PHP errors) - Development Mode -- Integrations with Symfony, [Laravel](https://github.com/spiral/roadrunner-laravel), Slim, CakePHP, Zend Expressive +- Integrations with [Symfony](https://github.com/php-runtime/roadrunner-symfony-nyholm), [Laravel](https://github.com/laravel/octane), Slim, CakePHP, Zend Expressive - Application server for [Spiral](https://github.com/spiral/framework) -- Included in Laravel Octane -- Automatic reloading on file changes -- Works on Windows (Unix sockets (AF_UNIX) supported on Windows 10) +- Works on Windows (Unix sockets (AF_UNIX) supported on Windows 10) and WSL2 -Installation: --------- +--- + +# Installation -To get the roadrunner binary file you can use our docker image: `spiralscout/roadrunner:2.X.X` (more information about -image and tags can be found [here](https://hub.docker.com/r/spiralscout/roadrunner/)) or use the GitHub package: `ghcr.io/roadrunner-server/roadrunner:2.X.X` +The easiest way to get the latest RoadRunner version is to use one of the pre-built release binaries, which are available for +OSX, Linux, FreeBSD, and Windows. Instructions for using these binaries are on the GitHub [releases page](https://github.com/roadrunner-server/roadrunner/releases). +## Docker: -- Docker: +To get the roadrunner binary file you can use our docker image: `ghcr.io/roadrunner-server/roadrunner:2023.X.X` (more information about +image and tags can be found [here](https://github.com/roadrunner-server/roadrunner/pkgs/container/roadrunner)). ```dockerfile -FROM ghcr.io/roadrunner-server/roadrunner:2.X.X AS roadrunner +FROM ghcr.io/roadrunner-server/roadrunner:2023.X.X AS roadrunner FROM php:8.2-cli COPY --from=roadrunner /usr/bin/rr /usr/local/bin/rr @@ -84,27 +84,40 @@ COPY --from=roadrunner /usr/bin/rr /usr/local/bin/rr # USE THE RR ``` -- Composer +Configuration located in the `.rr.yaml` file ([full sample](https://github.com/roadrunner-server/roadrunner/blob/master/.rr.yaml)): + + +## Installation via Composer +You can also install RoadRunner automatically using command shipped with the composer package, run: ```bash -$ composer require spiral/roadrunner:v2.0 nyholm/psr7 -$ ./vendor/bin/rr get-binary +composer require spiral/roadrunner:v2.0 nyholm/psr7 +./vendor/bin/rr get-binary ``` -- Ubuntu (Debian-derivatives): +Server binary will be available at the root of your project. + +> **INFO** +> PHP's extensions `php-curl` and `php-zip` are required to download RoadRunner automatically. +> PHP's extensions `php-sockets` need to be installed to run roadrunner. +> Check with `php --modules` your installed extensions. + + +## Installation option for the Debian-derivatives (Ubuntu, Mint, MX, etc) + ```bash -$ wget https://github.com/roadrunner-server/roadrunner/releases/download/v2.X.X/roadrunner-2.X.X-linux-amd64.deb -$ sudo dpkg -i roadrunner-2.X.X-linux-amd64.deb +wget https://github.com/roadrunner-server/roadrunner/releases/download/v2.X.X/roadrunner-2.X.X-linux-amd64.deb +sudo dpkg -i roadrunner-2.X.X-linux-amd64.deb ``` -- Download the latest release (WSL2/Linux/macOS): +## Dowload the latest release via curl: ```bash curl --proto '=https' --tlsv1.2 -sSf https://raw.githubusercontent.com/roadrunner-server/roadrunner/master/download-latest.sh | sh ``` +--- -Configuration can be located in `.rr.yaml` -file ([full sample](https://github.com/roadrunner-server/roadrunner/blob/master/.rr.yaml)): +Configuration can be located in `.rr.yaml` file ([full sample](https://github.com/roadrunner-server/roadrunner/blob/master/.rr.yaml)): ```yaml # configuration version: https://roadrunner.dev/docs/beep-beep-config/2.x/en @@ -153,6 +166,8 @@ while ($req = $worker->waitRequest()) { } ``` +--- + ### Available Plugins: [link](https://roadrunner.dev/docs) Run: @@ -160,7 +175,7 @@ Run: To run application server: ``` -$ ./rr serve +$ ./rr serve -c .rr.yaml ``` License: |