如何在 nginx 上缓存 PHP?

如何在 nginx 上缓存 PHP?

假设我正在创建一个新闻网站示例.com,现在我有 example.com/latest.php,这是一个执行大量查询的脚本,我想提高性能。我该如何配置 php/nginx,以便它生成缓存,当访问者到来时,缓存就会被发送,这样他/她就不会等太久。PS
:在 example.com/donotcache.php 上,我不想让它被缓存(用户计数脚本),怎么做?问题列表:

  1. 我需要什么模块?
  2. nginx 配置需要做哪些修改?
  3. 如果我需要使用 CSP(内容安全策略)nonce(那么每个页面都是动态的)怎么办?

答案1

您应该能够使用 php 本身内的 OPcache 代码来确保您不会在每次访问者访问您的网站时编译 php。请注意,这将需要分配系统内存来保存缓存的编译后的 php。如果您的命中率足够高,速度会快得多。如果您有足够的内存,您甚至可以配置 MySQL 查询缓存来保存查询结果。但是,这需要权衡需要多少内存以及您有多少内存。交换会降低您的性能。性能不佳会降低您的网站流量……这是一个微妙的平衡行为。

如果您使用某个存储库中的 php 包,请在 php 中查找 OPcache 模块。如果您正在编译它,请确保在编译时启用 OPcache。您不必告诉 nginx 有关 OPcache 的任何信息。在系统级 php.ini 中设置缓存大小,您就可以开始使用了!

相关内容