帖子

针对 Fresns 优化访问速度,最核心的手段是启用 Laravel Octane(性能可提升十倍以上),配合 Redis 缓存 与 对象存储/CDN 分离。

🚀 首选方案:启用 Laravel Octane

Octane 通过将应用常驻内存来大幅减少每个请求的引导开销,这是提升 Fresns 响应速度最有效的方式。

  • 安装:进入项目根目录,执行 composer require laravel/octane。
  • 安装服务:推荐选择 FrankenPHP 服务,执行 php artisan octane:install --server=frankenphp。
  • 启动与守护:执行 php artisan octane:start 启动服务(默认监听 8000 端口),并务必将其加入进程守护(如 Supervisor)防止中断。
  • 调整 Nginx:修改伪静态规则,将请求反向代理至 Octane 服务(例如 proxy_pass http://127.0.0.1:8000)。
  • 注意:如果服务器资源紧张(如 2核4G),请监控 CPU 负载,确保 Worker 数量配置合理,避免资源耗尽。

⚡ 基础加速:配置 Redis 缓存

默认的 File 缓存效率较低,切换至 Redis 能显著降低数据库查询压力,尤其利于高频接口。

在 .env 中修改以下配置:

CACHE_STORE=redis           # 缓存驱动
SESSION_DRIVER=redis        # 会话驱动
QUEUE_CONNECTION=redis      # 队列驱动

修改后需清理 bootstrap/cache/config.php 使配置生效,并记得配置对应的进程守护(如队列)。

☁️ 资源分发:存储与访问分离

Fresns 支持将文件存储与访问分开,建议文件存对象存储(如 S3/七牛),访问走 CDN,以此减轻服务器带宽压力并加快图片加载。

  • 存储设置:在后台“存储设置”中选择支持 S3 协议或七牛云的插件进行上传。
  • 访问加速:在存储设置中单独配置 CDN 域名作为访问域名。社区实例中常用 ImageX 或七牛云 来处理图片样式并分发。

📱 客户端缓存(针对 App/小程序)

如果你是客户端开发者,务必利用 Fresns 的缓存机制。建议缓存全局配置和当前登录用户资料(如 1 分钟),并在用户进行点赞、发帖等互动后立即刷新缓存,以避免频繁请求接口拖慢加载速度。

💡 补充建议

  • 启用 GZIP:确保 Web 服务器(Nginx)开启 GZIP 压缩,可减少传输体积(如 Fresns 官方文档站压缩率可达 72.56%)。
  • 函数与超时:确保 putenv、proc_open 函数开启(用于 Composer),并适当调高 PHP 超时限制,避免插件下载或大文件上传卡死。
https://discuss.fresns.org/post/mnRMOi5S

未登录无法操作

评论 0

列表为空,暂无内容