lagdo / jaxon-supervisor
基于 Jaxon Ajax 库的 Supervisor 控制台
Requires
README
已经存在几个允许从单个控制台监控多个 Supervisor 实例的包。然而,所有这些包都是独立的应用程序,这涉及到安装、配置、身份验证等方面的所有限制。
此包允许将 Supervisor 控制台插入到现有的 PHP 应用程序中。多亏了 Jaxon 库,它可以在应用程序的页面中安装和运行,可以通过 HTTP 或 Ajax 请求加载。所有操作都通过 Ajax 请求执行。
特性
- 显示 Supervisor 服务器上进程的状态和运行时间。
- 在服务器上启动、重启或停止进程。
- 在服务器上启动、重启或停止所有进程。
- 启动或停止刷新计时器。
- 触发刷新。
文档
安装 jaxon 库,使其从配置文件启动并处理 Ajax 请求。这里是 文档。
使用 Composer 安装此包。如果您的框架存在 Jaxon 插件,您也可以安装它。这将自动化前面的步骤。
在 Jaxon 配置文件 的 app
部分中声明包和 Supervisor 服务器。
'app' => [ // Other config options // ... 'packages' => [ Lagdo\Supervisor\Package::class => [ 'servers' => [ 'first_server' => [ 'url' => 'http://192.168.1.10', 'port' => '9001', ], 'second_server' => [ 'url' => 'http://192.168.1.11', 'port' => '9001', ], ], ], ], ],
使用布尔选项 wait
来设置在调用服务器时,Supervisor 客户端是否应在返回之前等待操作终止。
'app' => [ // Other config options // ... 'packages' => [ Lagdo\Supervisor\Package::class => [ 'wait' => false, // Global option for all servers. 'servers' => [ 'first_server' => [ 'url' => 'http://192.168.1.10', 'port' => '9001', 'wait' => true, // Specific option for a given server. ], 'second_server' => [ 'url' => 'http://192.168.1.11', 'port' => '9001', ], ], ], ], ],
如果访问 Supervisor 服务器 API 需要身份验证,可以通过 auth
选项设置凭据。
'app' => [ // Other config options // ... 'packages' => [ Lagdo\Supervisor\Package::class => [ 'servers' => [ 'first_server' => [ 'url' => 'http://192.168.1.10', 'port' => '9001', 'auth' => ['first_username', 'first_password'], ], 'second_server' => [ 'url' => 'http://192.168.1.11', 'port' => '9001', 'auth' => ['second_username', 'second_password'], ], ], ], ], ],
使用对 jaxon()->getCss()
和 jaxon()->getScript(true)
的调用,在您的应用程序的 HTML 页面中插入 CSS 和 JavaScript 代码。
在显示控制台页面上,使用对 jaxon()->package(\Lagdo\Supervisor\Package::class)->getHtml()
的调用插入其 HTML 代码。然后有两种可能的情况。
-
如果控制台在专用页面上显示,在页面加载时调用
jaxon()->package(\Lagdo\Supervisor\Package::class)->ready()
。 -
如果控制台通过 Ajax 请求在已显示的页面上加载,在页面加载时执行调用
jaxon()->package(\Lagdo\Supervisor\Package::class)->getReadyScript()
返回的 JavaScript 代码。
注意事项
此包的 HTML 代码使用 Bootstrap CSS 框架,该框架也必须包含在页面中。它完全包含在一个 <div class="col-md-12">
标签中。
将在未来的版本中添加对其他框架的支持。
贡献
- 问题跟踪器:github.com/lagdo/jaxon-supervisor/issues
- 源代码:github.com/lagdo/jaxon-supervisor
许可证
本项目采用 BSD 许可证。