参考资料

  1. Laravel Octane 与 Swoole 扩展的版本不兼容
  2. php --ri swoole 的输出可以看到
  3. Fresns 基于 Swoole 的运行状态输出
  4. 网站引擎 API 地址配置有问题
  5. 说明日志系统在记录 Guzzle 废弃警告时崩溃了,掩盖了真正的问题
  6. Nginx 无法连接到 Octane 监听的端口
  7. 报错很明确:8000 端口已被占用。先排查是谁占用了,再决定是杀掉还是换端口。
  8. Swoole 6.2.2 扩展正在为 PHP 8.3 编译的过程

Fresns 的 Swoole 配置

Fresns 本身不直接配置 Swoole,而是通过 Laravel 生态的 Laravel Octane 来接入 Swoole 作为高性能应用服务器。

以下是完整的配置步骤:

1. 安装 Octane 与 Swoole 驱动

进入 Fresns 项目根目录(即你终端所在的 /www/wwwroot/www.madama.cn/fresns),执行:

# 安装 Octane
composer require laravel/octane

# 安装 Swoole 驱动(按提示选择 swoole)
php artisan octane:install --server=swoole

2. 启动 Octane 服务

php artisan octane:start --host=127.0.0.1 --port=8000

常用可选参数:

  • --workers=N:Worker 进程数,默认自动

  • --max-requests=N:每个 Worker 处理多少请求后重启(默认 500,防止内存泄漏)

  • --watch:文件修改自动重载(开发时用)

3. 配置 Nginx 反向代理

因为 Fresns 原本是 PHP-FPM 模式,启用 Octane 后请求需要转发给 Octane 的 8000 端口。在宝塔面板中修改站点的 URL 重写(伪静态),替换为以下配置:

location /index.php {
  try_files /not_exists @octane;
}

location / {
  try_files $uri $uri/ @octane;
}

location @octane {
  set $suffix "";
  if ($uri = /index.php) {
    set $suffix ?$query_string;
  }

  proxy_http_version 1.1;
  proxy_set_header Host $http_host;
  proxy_set_header Scheme $scheme;
  proxy_set_header SERVER_PORT $server_port;
  proxy_set_header REMOTE_ADDR $remote_addr;
  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  proxy_set_header Upgrade $http_upgrade;
  proxy_set_header Connection $connection_upgrade;

  proxy_pass http://127.0.0.1:8000$suffix;
}

4. 用 Supervisor 守护进程

Octane 需要常驻运行,必须用 Supervisor 管理,否则终端关闭服务就停了。

在宝塔面板 → Supervisor 管理器 中添加进程:

php artisan octane:start --host=127.0.0.1 --port=8000

启动目录设为 /www/wwwroot/www.madama.cn/fresns。

5. 配置文件调整(按需)

编辑 config/octane.php:

  • 超时时间:max_execution_time 默认 30 秒,设为 0 表示无限制

  • 文件监控(开发环境):在 watch 数组中添加插件和主题目录,配合 --watch 使用

关键提醒

启用 Octane 后,Fresns 的运行模式从 PHP-FPM 切换为常驻内存模式。插件和主题的代码修改不会自动生效,需要重启 Octane(Supervisor 中重启进程)或使用 --watch 模式。

如果你是用宝塔面板部署的,Fresns 官方教程只覆盖了基础的 PHP-FPM 配置(PHP 8.3、扩展、伪静态、队列等),Octane 属于进阶加速方案,需要额外配置。

作者:王壹杰
时间:2026-10-02 09:50:19
来源:https://fresns.ciilii.com/