php支持per,RoadRunner: RoadRunner  是一个高性能PHP应用服务器,支持负载均衡及进程管理...

81af78f9cf4508ae61139b26c556b10c.png

version

v2?status.svg

badge.svg

badge.svg

roadrunner

quality-score.png

badge.svg

roadrunner.svg?logo=lgtm&logoWidth=18

discord-chat-magenta.svg

roadrunner?style=flat-square

RoadRunner is an open-source (MIT licensed) high-performance PHP application server, load balancer, and process manager.

It supports running as a service with the ability to extend its functionality on a per-project basis.

RoadRunner includes PSR-7/PSR-17 compatible HTTP and HTTP/2 server and can be used to replace classic Nginx+FPM setup

with much greater performance and flexibility.

Features:

Production-ready

PCI DSS compliant

PSR-7 HTTP server (file uploads, error handling, static files, hot reload, middlewares, event listeners)

HTTPS and HTTP/2 support (including HTTP/2 Push, H2C)

A Fully customizable server, FastCGI support

Flexible environment configuration

No external PHP dependencies (64bit version required), drop-in (based on Goridge)

Load balancer, process manager and task pipeline

Frontend agnostic (Queue, PSR-7, GRPC, etc)

Integrated metrics (Prometheus)

Works over TCP, UNIX sockets and standard pipes

Automatic worker replacement and safe PHP process destruction

Worker create/allocate/destroy timeouts

Max jobs per worker

Worker lifecycle management (controller)

maxMemory (graceful stop)

TTL (graceful stop)

idleTTL (graceful stop)

execTTL (brute, max_execution_time)

Payload context and body

Protocol, worker and job level error management (including PHP errors)

Development Mode

Integrations with Symfony, Laravel, Slim, CakePHP, Zend Expressive

Application server for Spiral

Automatic reloading on file changes

Works on Windows (Unix sockets (AF_UNIX) supported on Windows 10)

Installation:

$composer require spiral/roadrunner:v2.0 nyholm/psr7

$./vendor/bin/rr get-binary

For getting roadrunner binary file you can use our docker image: spiralscout/roadrunner:X.X.X (more information about

image and tags can be found here)

Configuration can be located in .rr.yaml

file (full sample):

rpc:

listen: tcp://127.0.0.1:6001

server:

command: "phpworker.php"

http:

address: "0.0.0.0:8080"

logs:

level: error

Read more in Documentation.

Example Worker:

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);

}

}

Run:

To run application server:

$ ./rr serve

License:

The MIT License (MIT). Please see LICENSE for more information. Maintained

by Spiral Scout.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值