faustoff/laravel-pm2-admin

提供管理PM2应用程序的仪表板,例如启动/重启/停止/列表

1.2.0 2024-08-04 19:03 UTC

This package is auto-updated.

Last update: 2024-09-14 18:53:20 UTC


README

Packagist Version Packagist Downloads Packagist License GitHub Repo stars

laravel-pm2-admin

提供管理PM2应用程序的仪表板,例如启动/重启/停止/列表。

composer require faustoff/laravel-pm2-admin

发布 assets

php artisan vendor:publish --tag=pm2-admin-assets

要在包更新时自动更新 assets,请将其添加到 composer.json

{
    "scripts": {
        "post-update-cmd": [
            "@php artisan vendor:publish --tag=pm2-admin-assets --ansi --force"
        ]
    }
}

发布 config

php artisan vendor:publish --tag=pm2-admin-config

授权

PM2 Admin仪表板可以通过/pm2路由访问。默认情况下,您只能在本地环境中访问此仪表板。要访问非本地环境中的仪表板,您应该在应用程序服务提供者中定义viewPm2Admin授权网关,例如

use Faustoff\LaravelPm2Admin\Http\Middleware\Authorize;

public function boot()
{
    Gate::define(Authorize::ABILITY, function (?User $user) {
        return (bool) $user?->isAdmin;
    });
}

API服务器

您应该运行API服务器,该服务器将处理来自PM2 Admin仪表板的API请求并直接转发到后端pm2守护进程。例如ecosystem.config.js

module.exports = {
  apps: [
    // your another applications
    {
      name: 'pm2-admin',
      script: 'vendor/faustoff/laravel-pm2-admin/dist/index.js',
      instances: 1,
      exec_mode: 'fork',
    }
  ]
}

默认情况下,您的应用程序将假定API服务器可以通过地址pm2:8000访问。这种设置对应于您的应用程序、API服务器和pm2守护进程都在Docker环境中运行的情况。在这种配置中,pm2守护进程在名为pm2的Docker容器中运行。

您可以通过使用PM2_ADMIN_API_SERVER_ADDRESS环境变量来覆盖应用程序访问API服务器时使用的API服务器地址。