faustoff / laravel-pm2-admin
提供管理PM2应用程序的仪表板,例如启动/重启/停止/列表
1.2.0
2024-08-04 19:03 UTC
Requires
- php: ^8.1
- illuminate/routing: ^9.0|^10.0|^11.0
- illuminate/support: ^9.0|^10.0|^11.0
- illuminate/validation: ^9.0|^10.0|^11.0
README
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服务器地址。