feat: 前台 .shtml 后缀 canonical + strict_types 全量启用 + 对外 API(Sanctum+Scramble 文档)+ pm2 ecosystem + GitHub Actions CI + 插件/主题/架构/API 文档 + REDIS_PREFIX 说明

This commit is contained in:
ak
2026-08-11 19:37:33 +08:00
parent 1c8a801238
commit fc6624cf84
244 changed files with 1902 additions and 97 deletions
+64
View File
@@ -0,0 +1,64 @@
/**
* PM2 进程管理配置
*
* 用法:
* pm2 start ecosystem.config.js # 启动全部
* pm2 start ecosystem.config.js --only laralog-workerman
* pm2 logs laralog-workerman
* pm2 save && pm2 startup # 开机自启
*
* 说明:
* - workerman 负责队列消费(database/redis+ WebSocket 推送
* - schedule 常驻运行 Laravel 调度器(替代 cron
* - 若不想用 Workerman,可改用注释掉的 laralog-queue(标准 queue:work
*/
module.exports = {
apps: [
{
name: 'laralog-workerman',
script: 'artisan',
args: 'workerman:serve start',
interpreter: 'php',
cwd: '/var/www/laralog',
instances: 1,
autorestart: true,
watch: false,
max_memory_restart: '512M',
time: true,
env: {
APP_ENV: 'production',
APP_DEBUG: 'false',
// 队列连接:database 或 redis
WORKERMAN_QUEUE_CONNECTION: 'redis',
WORKERMAN_QUEUES: 'default,ai',
},
},
{
name: 'laralog-schedule',
script: 'artisan',
args: 'schedule:work',
interpreter: 'php',
cwd: '/var/www/laralog',
instances: 1,
autorestart: true,
max_memory_restart: '256M',
time: true,
env: {
APP_ENV: 'production',
},
},
// 不使用 Workerman 时的标准队列消费者(二选一)
// {
// name: 'laralog-queue',
// script: 'artisan',
// args: 'queue:work redis --sleep=3 --tries=3 --max-time=3600',
// interpreter: 'php',
// cwd: '/var/www/laralog',
// instances: 2,
// autorestart: true,
// max_memory_restart: '512M',
// time: true,
// env: { APP_ENV: 'production' },
// },
],
}