当前位置:首页 > 计算机相关 > 建站之路 > 正文内容

ubuntu20.04下nginx+php-fpm开启php缓存OPcache

piikee3个月前 (01-19)建站之路265
  • OPcache 缓存 PHP 脚本的编译字节码,而不是缓存执行结果。

  • 动态内容仍然会运行,但解析和编译的开销减少。

  • 配置 opcache.revalidate_freq 可控制重新加载代码的频率。


1. 检查 PHP 和 OPcache 是否安装

运行以下命令,检查 PHP 和 OPcache 的状态:

php -v
php -m | grep opcache
  • 如果 php 命令输出正常版本号,说明 PHP 已安装。

  • 如果输出包含 opcache,说明 OPcache 已启用。

如果 OPcache 未安装:

在 Ubuntu 20.04 上安装 OPcache 扩展:

sudo apt update
sudo apt install php-opcache

2. 修改 php.ini 配置文件启用 OPcache

找到 PHP 的配置文件路径。常见路径:

  • CLI 模式:/etc/php/7.x/cli/php.ini

  • PHP-FPM 模式:/etc/php/7.x/fpm/php.ini

以 PHP-FPM 模式为例,编辑配置文件:

sudo nano /etc/php/7.x/fpm/php.ini

将以下配置添加或确认已存在,并根据需要调整参数:

[opcache]
opcache.enable=1                ; 启用OPcache
opcache.enable_cli=1            ; 启用 CLI 模式下的 OPcache
opcache.memory_consumption=128  ; 分配 128MB 内存给 OPcache
opcache.interned_strings_buffer=8 ; 用于字符串的内存大小
opcache.max_accelerated_files=10000 ; 最大缓存文件数量
opcache.revalidate_freq=2       ; 每 2 秒检查文件更新
opcache.validate_timestamps=1   ; 启用时间戳检查,确保实时更新
opcache.save_comments=1         ; 缓存文档注释(建议启用)
opcache.fast_shutdown=1         ; 快速关闭以释放资源

注意:将路径中的 7.x 替换为实际安装的 PHP 版本(如 7.48.1)。


3. 重启 PHP-FPM 和 Nginx

应用配置更改,重启相关服务:

sudo systemctl restart php7.x-fpm
sudo systemctl restart nginx

4. 验证 OPcache 是否生效

创建一个测试 PHP 文件,例如 opcache_info.php

sudo nano /var/www/html/opcache_info.php

添加以下内容:

<?php phpinfo();

通过浏览器访问:http://your-domain/opcache_info.php,在页面中搜索 opcache,确认 Opcode Caching => Enabled


5. 可选:优化动态更新性能

如果需要缓存动态页面,但仍希望在代码更新后尽快生效,可以调整以下参数:

opcache.revalidate_freq=0       ; 禁用定时检查,每次请求都会检查文件更新
opcache.validate_timestamps=1   ; 保持实时检测文件的修改时间

这样可以保证代码更新能立即生效,但会稍微增加 CPU 的开销。


6. 查看 OPcache 状态(可选)

安装 OPcache 状态工具:

git clone https://github.com/amnuts/opcache-gui.git

将文件部署到 /var/www/html/ 下,通过浏览器访问对应路径即可监控 OPcache 的缓存状态和命中率。


通过以上步骤,Ubuntu 20.04 下的 Nginx + PHP-FPM 环境就可以成功启用 OPcache 了。


扫描二维码推送至手机访问。

版权声明:本文由萍客小居[www.piikee.net]发布,如需转载请注明出处。

本文链接:https://www.piikee.net/1527.html

分享给朋友:

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。