【问题标题】:How to convert a very large Laravel application into static site?如何将一个非常大的 Laravel 应用程序转换为静态站点?
【发布时间】:2019-11-16 14:52:55
【问题描述】:
我有一个非常大的 Laravel 应用程序(数百条路线,数千个可能的页面等)。大约四分之三的页面不经常更改(刷新数据时它们最多在 2-3 个月内更改一次)。应用程序的另外 25% 是搜索,即每天/每周更改的数据。
为了提高速度,我想探索将大部分应用程序转换为静态站点的选项。这将创建数千个 HTML 页面。不确定这是否是提高速度的最佳方法。如果是,我该怎么做?如果没有,还有其他选择吗?假设无法获得更多 RAM 等。
【问题讨论】:
标签:
laravel
performance
static-site
【解决方案1】:
虽然我不是这方面的专家,也不知道有什么工具可以做到这一点。您打算做的与 Google 机器人完全一样,它会扫描您的整个页面以查找任何深层链接并将其存档到内存中。
需要做的不仅仅是获取 PHP 输出的纯 HTML 代码源,还需要存储 Javascript 生成的动态内容。然后在页面请求时挂钩到站点索引页面,搜索页面是否存在于构建的缓存文件夹中并简单地加载它。确保也构建一个系统来使静态缓存失效。
但首先,尝试所有其他可能的方式,例如 Laravel 缓存、PHP OPCode 缓存和其他服务器端缓存级别。