katsana/minions-server

使用ReactPHP的Minions组件服务器

v1.1.2 2020-08-31 22:50 UTC

This package is auto-updated.

Last update: 2024-09-15 12:19:36 UTC


README

Build Status Latest Stable Version Total Downloads Latest Unstable Version License Coverage Status

安装

可以通过composer安装Minions

composer require "katsana/minions-server=^1.0"

请确保您已安装Minions并查看安装和设置文档

用法

Minion服务器将通过Artisan命令运行ReactPHP RPC服务器。

您可以通过发出Artisan命令来启动RPC服务器

php artisan minions:serve

配置

您可以通过以下命令将默认的minions-server.php导出到您的项目目录

php artisan vendor:publish --provider="Minions\Server\MinionsServiceProvider" --tag="config"

使用不同的端口

RPC服务器的默认端口为8085。您可以通过更新环境文件(或config/minions.php)来设置不同的端口。

MINION_SERVER_PORT=8081

限制监听主机

默认情况下,RPC服务器将在127.0.0.1上监听,并且仅允许来自本地网络的入站连接。如果您想公开它,请更新环境文件(或config/minions.php)来设置不同的主机。

MINION_SERVER_HOST='0.0.0.0'

使用supervisord保持套接字服务器运行

由于minions:serve守护进程需要始终运行以接受连接,因此这是Linux上的任务运行程序supervisor的理想用例。

首先,确保已安装supervisor

# On Debian / Ubuntu
apt install supervisor

# On Red Hat / CentOS
yum install supervisor
systemctl enable supervisor

一旦安装,添加一个supervisor需要持续运行的新进程。您将配置放在/etc/supervisor/conf.d(Debian/Ubuntu)或/etc/supervisord.d(Red Hat/CentOS)目录中。

在该目录中,创建一个名为minions.conf的新文件。

[program:minion]
command=/usr/bin/php /home/project/artisan minions:serve
numprocs=1
autostart=true
autorestart=true

创建后,指示supervisor重新加载其配置文件(而不影响已运行的supervisor作业)。

supervisorctl update
supervisorctl start minion

您的RPC服务器现在应该正在运行(您可以使用supervisorctl status来验证)。如果它崩溃,supervisor将自动重启它。

请注意,默认情况下,supervisor将强制对所有它管理的进程施加最大打开文件数。这是通过supervisord.conf中的minfds参数配置的。

如果您想增加最大打开文件数,您可以在/etc/supervisor/supervisord.conf(Debian/Ubuntu)或/etc/supervisord.conf(Red Hat/CentOS)中进行此操作

[supervisord]
minfds=10240; (min. avail startup file descriptors;default 1024)

更改此设置后,您需要重新启动supervisor进程(这将导致它管理的所有进程重新启动)。