Fresns 配合 Octane 和 FrankenPHP,是目前社区公认提升访问速度最核心的手段
参考资料
Fresns 配合 Octane 和 FrankenPHP,是目前社区公认提升访问速度最核心的手段
Fresns 配合 Octane 和 FrankenPHP,是目前社区公认提升访问速度最核心的手段,性能提升可达十倍以上。它的原理是让 PHP 应用常驻内存,避免每个请求都重新加载框架,而 FrankenPHP 则是一个用 Go 编写的现代 PHP 应用服务器,原生支持 HTTP/2、HTTP/3 和自动 HTTPS,无需额外配置 Nginx 反代就能直接对外提供服务。
📦 安装与激活
以下操作需要在 Fresns 根目录的终端中执行。
1. 安装 Octane 包
composer require laravel/octane
2. 安装 FrankenPHP 服务
php artisan octane:install --server=frankenphp
执行后,Octane 会自动下载对应平台的 FrankenPHP 二进制文件,并生成 Caddyfile 和新的入口文件。
3. 启动服务
php artisan octane:start
默认监听 127.0.0.1:8000。
⚙️ 启动参数说明
octane:start 命令支持以下参数:
| 参数 | 说明 | 默认值 |
|---|---|---|
--host | 绑定的 IP 地址 | 127.0.0.1 |
--port | 服务端口 | 8000 |
--admin-port | 管理端口 | 2019 |
--workers | Worker 进程数量 | auto |
--max-requests | 重启前处理的最大请求数 | 500 |
--https | 启用 HTTPS 并自动生成证书 | 关闭 |
--watch | 文件修改后自动重载(开发用) | 关闭 |
🔗 Nginx 反向代理配置
启用 Octane 后,需要修改 Nginx 的 URL 重写规则,将请求反向代理至 Octane 服务:
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;
}🔄 进程守护(必须)
Octane 必须加入进程守护(如 Supervisor),否则终端关闭后服务就会中断。宝塔面板中可参考以下配置:
启动用户:
www运行目录:Fresns 主程序根目录
启动命令:
php artisan octane:start --server=frankenphp --host=127.0.0.1 --port=8000
💡 注意事项
HTTPS 链接修正:如果站点启用了 HTTPS,需要在 .env 中添加 OCTANE_HTTPS=true,否则 Octane 生成的链接会以 http:// 开头。
文件监控(开发环境):Octane 启动后代码会常驻内存,修改文件后需重启服务。开发时可使用 --watch 参数自动重载,但需要先安装 Node 的监控库:
npm install --save-dev chokidar php artisan octane:start --watch
插件兼容性:部分插件(如 SMTP 邮件插件)在 Octane 环境下可能遇到 TLS/SSL 问题,如果遇到邮件发送异常,可留意官方后续的兼容性修复。
资源监控:Octane 对服务器资源有一定要求,特别是 Worker 数量不宜设置过多。如果服务器配置较低(如 2核4G),建议监控 CPU 负载,避免资源耗尽。
时间:2026-10-01 16:49:38
来源:https://fresns.ciilii.com/
