lnmp开启Opcache脚本缓存提高php性能教程

投稿   魏艾斯博客  2018-07-08 07:09:12  167 人阅读  20 条评论

lnmp 开启 Opcache 脚本缓存可以提高 php 运行性能,进而提高整体服务器的运行效率。Opcache 是 Zend 开发的闭源但可以免费使用的 PHP 优化加速组件。今天魏艾斯博客尝试开启这个组件,并希望能够提高 php 性能,因为是第一次尝试,后面经过一段时间服务器运行后再来汇报结果。

为了提高 linux 服务器的运行速度和网站的打开速度,魏艾斯博客前期进行了各种尝试,从各种 wordpress 缓存插件开始折腾,后来发现各种 wordpress 缓存插件在博客流量低(1000IP)的时候,没啥实际意义,反倒会增加服务器负载,于是卸载之。

现在老魏又来折腾 Opcache(脚本缓存)了,这货是 php 自带(php5.5 以后)的加速组件,官方认证且经常更新,所以想要服务器速度飞起来就一定要启用。

一、启用 OPcache 脚本

进入 lnmp 解压后的目录(搞清楚你自己的 lnmp 版本)

  1. cd  /root/lnmp1.4

执行:

  1. ./addons.sh install opcache

lnmp开启Opcache脚本缓存提高php性能教程 建站经验 第1张

此脚本是用来安装 opcache 的,LNMP 1.4 下安装的 PHP 5.5 或更高版本的 PHP 不需要额外安装 OPcache,默认已经安装上但未启用,要执行上面的命令进行开启。

二、配置 Opcache

1、要打开 php.ini 文件,有两种方法,一个是在 SSH 软件中直接编辑,命令如下:

  1. vi /usr/local/php/etc/php.ini

2、 php.ini 文件内容较多,第二种方法是是用 winscp 下载到本地电脑,再用 dreamweaver 编辑。在文件最后添加如下代码:

  1. [Zend Opcache]
  2. opcache.enable=1                 ;Zend Opcache 的开关,关闭时代码不再优化.
  3. opcache.enable_cli=1            ;确定是否为 php 的 cli 版本启用
  4. opcache.force_restart_timeout=3600   ;从缓存不被访问后,等待多久后(单位为秒)调度重启
  5. opcache.memory_consumption=128   ;可用内存,单位:Mb,推荐 128
  6. opcache.interned_strings_buffer=8     ;Zend Opcache 暂存池中字符串占内存总量.(单位:MB),推荐为 8
  7. opcache.max_accelerated_files=4000  ;可以缓存多少个脚本,命中率低的可以试着提高这个值
  8. opcache.fast_shutdown=1       ;打开快速关闭,打开这个在 PHP Request Shutdown 时回收内存的速度会提高,推荐 1

以上是老魏的设置,也带上了注释。如果你还有更优化的设置请在下面跟进留言,咱们一起讨论让服务器速度飞起的方法。

三、重启 PHP

最后还要运行重启 php 命令:

  1. service php-fpm restart

在 phpinfo 里面能看到 Zend OPcache 开启了,这里面最重要的参数是 cache hits,代表缓存命中率;下面的 cache misses 代表为缓存未命中率

lnmp开启Opcache脚本缓存提高php性能教程 建站经验 第2张

四、卸载 Opcache 组件命令

  1. ./addons.sh uninstall opcache

五、双剑合璧

使用脚本缓存 Opcache 再配合以前说过的 memcached 组件(内容缓存),对网站打开速度有相当程度的提升。内容缓存和脚本缓存有很多程序可以实现,目前老魏认为同时启用本文提到的这两个就可以了,对于流量低(几千 IP/天)的服务器这样做是比较合适的,你有更好的组合方式请留言告知。

PS:本文是在阿里云服务器和腾讯云服务器上测试通过。

总结

lnmp 中默认已经安装了 Opcache 组件,我们要做的是启用并在 php.ini 中配置一下参数,马上就能体验到性能提升 20%以上的感觉。相关参数设置老魏只是自己总结了一些,不一定是最优化的,有遗漏的地方请大家不吝赐教,我们共同研究进步。

历史上的今天:

文章标签: ,   ,   ,  
原文地址:https://www.vpsss.net/6295.html
温馨提示:文章内容仅代表作者个人观点,不代表boke112导航赞同其观点和对其真实性负责!
版权声明:本文为投稿文章,感谢 魏艾斯博客 的投稿,版权归原作者所有,欢迎分享本文,转载请保留出处!
魏艾斯博客

相关文章 分类热门分类热评最新问答

 发表评论

中国赞表情摊手表情吃瓜表情笑哭表情偷笑表情衰表情汗表情思考表情费解表情抓狂表情晕表情流泪表情疑问表情嘻嘻表情吃惊表情鼓掌表情

  1. 很文博客
    很文博客 @回复

    之前在流量上来的时候,这些加速插件或者缓存都安装过,目前发现xcache+memcached组合不错,有过一段时间用着1核+2G内存的服务器,在运行3500IP左右的访问量还能勉强运行,后来IP上了4000后,直接就升级2核+4G,发现原来后天卡的问题解决了,速度直线上升,所以建议有时候该加钱升级就果断升级,不要影响用户体验。

  2. 靠谱学生兼职网
    靠谱学生兼职网 @回复

    玩博客就是折腾的吧,技术过硬没问题,我们小白,还是以后再试试吧

  3. 闲鱼
    闲鱼 @回复

    [嘻嘻] 我也来跟风试试,就不知道效果好不好

  4. 千眼网
    千眼网 @回复

    一切正常都懒的折腾了,有心折腾的时候再来找找吧。

  5. 沈唁志
    沈唁志 @回复

    看着挺牛逼的。

  6. 龙笑天
    龙笑天 @回复

    opcache.revalidate_freq 这个参数不用配置吗?更新php文件后,要及时php-fpm重启下吧~ [疑问]

  7. 麦林风
    麦林风 @回复

    要是有能提高WP速度的,到是可以研究下。

  8. 学习笔记Blog
    学习笔记Blog @回复

    我实测过,在PHP 7.2下,OPCache的性能发挥最好了!

  9. 异星软件空间
    异星软件空间 @回复

    细读教程,膜拜大佬!! [中国赞]

  10. 里维斯社
    里维斯社 @回复

    不错的教程,很详细

  11. iGuanren
    iGuanren @回复

    一楼??可能图形化界面更适合我把,LNMP安装了又卸载了,感觉不适合我这种小白使用。 [费解] (我特么居然也能在一楼》??)