LNMP笔记:安装 Xcache 缓存扩展,降低服务器负载

2014/11/27 教程笔记 4,743 14

 
 
WordPress 精品主机推荐:恒创主机 | 阿里云(本站目前所用云主机)

倡萌一直都是用军哥的 lnmp 一键安装包来配置服务器环境,最近一个月来,网站流量上来了些,可能还有其他原因,导致服务器负载不太稳定,负载时不时会飙升好几倍甚至十几倍,访问就非常慢啦。昨天下午直接导致服务器 nginx 进程死掉了,想来想去,最后还是决定配置 lnmp 1.1 ,顺便安装 Xcache 对象缓存扩展,配合之前的Memcached内存缓存一起,负载很明显就下来了,内存占用也小多了。

XCache 简介

XCache 是一个国人开发的又快又稳定的 PHP opcode 缓存器. 经过良好的测试并在大流量/高负载的生产机器上稳定运行。经过(在 linux 上)测试并支持所有现行 PHP 分支的最新发布版本。要了解更多信息,请访问官方文档:http://xcache.lighttpd.net/

Lnmp 下安装 XCache

进入lnmp解压后的目录,执行:./addons.sh install xcache 运行后有如下提示:

需要设置xcache管理页面admin用户的密码。

出现“Press any key to install...or Press Ctrl+c to cancel“,再次回车确认即可开始安装。

卸载
执行:./addons.sh uninstall xcache

安装好以后,访问 http://你的服务器IP/xcache/    输入admin用户名和密码就可以登录管理界面:

点击右上角的“诊断”,可以看到你目前的 Xcache 设置是否存在什么问题,而且给出了解释和建议,非常人性化。

设置 XCache

Xcache 的设置选项在 php.ini 里,lnmp 1.1 自动添加的如下:

;xcache
[xcache-common]
extension = xcache.so

[xcache.admin]
xcache.admin.enable_auth = On

;默认的管理员用户名,你可以修改 admin 为其他用户名
xcache.admin.user = "admin"

;run: echo -n "yourpassword" |md5sum |awk '{print }' to get md5 password 以下是密码,就是安装时设置的(MD5加密)
xcache.admin.pass = "5ed1b644b258a5cc83"

[xcache]
xcache.shm_scheme =        "mmap"

;对象缓存的大小,默认好像是20M,可能不够用,自己修改大些
xcache.size  =               20M
; set to cpu count (cat /proc/cpuinfo |grep -c processor)
xcache.count =                 1
xcache.slots =                8K
xcache.ttl   =                 0
xcache.gc_interval =           0

;变量缓存大小,默认是 4M,一般的程序是没有用到这个缓存的,可以不理会
xcache.var_size  =            4M
xcache.var_count =             1
xcache.var_slots =            8K
xcache.var_ttl   =             0
xcache.var_maxttl   =          0
xcache.var_gc_interval =     300
xcache.readonly_protection = Off
; for *nix, xcache.mmap_path is a file path, not directory. (auto create/overwrite)
; Use something like "/tmp/xcache" instead of "/dev/*" if you want to turn on ReadonlyProtection
; different process group of php won't share the same /tmp/xcache
xcache.mmap_path =    "/dev/zero"
xcache.coredump_directory =   ""
xcache.experimental =        Off
xcache.cacher =               On
xcache.stat   =               On
xcache.optimizer =           Off

[xcache.coverager]
; enabling this feature will impact performance
; enable only if xcache.coverager == On && xcache.coveragedump_directory == "non-empty-value"
; enable coverage data collecting and xcache_coverager_start/stop/get/clean() functions
xcache.coverager =          Off
xcache.coveragedump_directory = ""
;xcache end

我们一般就修改一下管理员用户名 xcache.admin.user  和  对象缓存大小 xcache.size  即可,当然,如果你使用了 XCache 的变量缓存,也可以进行相应设置  xcache.var_size  、xcache.var_slots  等。

更详细的设置说明,请看官方文档:http://xcache.lighttpd.net/wiki/XcacheIni

WordPress 使用 Xcache 进行变量缓存

Xcache 不仅可以缓存php,还可以缓存变量(类似于 Memcached),就是上面图中的 Var 缓存,对于 WordPress,只需要下载 https://wordpress.org/plugins/xcache/ 插件,解压后,将里面的 object-cache.php 上传到 wp-content 目录即可。

注意:

如果你一个主机安装了多个 WordPress,请使用不通过的数据库表前缀,比如 wp_ 、wp2_ ,否则可能会导致变量冲突!

如果你之前使用了 Memcached 进行变量缓存,请不要同时使用 Xcache 的变量缓存功能,两者选其一!!

错误排查

LNMP:配置过程中,如果你先添加了域名绑定主机,然后再安装 xcache,访问xcache 管理界面时,可能会提示:

Fatal error: xcache_count(): xcache.admin.user and/or xcache.admin.pass settings is not configured. Make sure you've modified the correct php ini file for your php used in webserver. in/home/xxx/xcache/cacher/index.php on line 259

究其原因,打开php.ini配置文件:

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

在 xcache 的配置信息上方,可以看到绑定的域名信息:

这段域名信息在 ;xcache 配置信息的上方,我们将它移到 ;xcache end 的下面,保存重启php即可:

LNMP笔记:安装 Xcache 缓存扩展,降低服务器负载的更多相关文章

  1. LNMP redis 安装、PHPredis扩展配置、服务器自启动、redis认证密码

    背景: LNMP 环境(centos7) 一. 安装redis 1.下载,解压,编译 $ cd /usr/local$ wget http://download.redis.io/releases/r ...

  2. PHP配置xcache缓存扩展

    安装步骤 wget http://xcache.lighttpd.net/pub/Releases/3.2.0/xcache-3.2.0.tar.gz tar -xf xcache-3.2.0.tar ...

  3. lnmp下安装curl openssl扩展

    openssl http://www.mamicode.com/info-detail-1957696.html curl https://blog.csdn.net/qq_34372929/arti ...

  4. Nginx+Varnish 实现动静分离,为服务器分流,降低服务器负载

    相必大家在看加快网站响应速度方面的文章时,都提过这么一条:动静分离.那怎样实现动静分离呢,这里笔者就亲自搭建相关服务实现动静分离. 动静分离是一种架构,就是把静态文件,比如JS.CSS.图片甚至有些静 ...

  5. 跨多种环境部署 Gearman -改善应用程序性能和降低服务器负载

    您可能想要将工作扩散到一个大型机器群体中,或者想要在不同语言和环境之间共享功能,那么开放源码的 Gearman 服务可以让您轻松地将工作分布到网络中的其他机器.本文将介绍 Gearman 的一些典型应 ...

  6. WDCP,LNMP安装PHP缓存加速扩展eAccelerator,xcache和memcached

    VPS主机性能配置如果太差,则在运行Wordpress博客和Discuz! 论坛等高消耗程序时能够明显感觉出VPS有些吃力.另外,即使VPS主机的CPU.内存.硬盘I/O等性能足够好,但是在面对大流量 ...

  7. PHP 缓存扩展opcache

    opcache (全程 zend opcache): 从php5.5开始,默认提供的php脚本缓存扩展,编译php5.5时加上参数--enable-opcache就可以编译opcache了,只是要启用 ...

  8. php的opcache缓存扩展

    opcache (全程 zend opcache): 从php5.5开始,默认提供的php脚本缓存扩展,编译php5.5时加上参数--enable-opcache就可以编译opcache了,只是要启用 ...

  9. php的opcache缓存扩展(php页面代码刷新速度)

    opcache (全程 zend opcache): 从php5.5开始,默认提供的php脚本缓存扩展,编译php5.5时加上参数--enable-opcache就可以编译opcache了,只是要启用 ...

随机推荐

  1. 第十三章 调试及安全性(In .net4.5) 之 验证程序输入

    1. 概述 本章介绍验证程序输入的重要性以及各种验证方法:Parse.TryParse.Convert.正则表达式.JavaScriptSerializer.XML Schemas. 2. 主要内容 ...

  2. 第三章 管理程序流(In .net4.5) 之 实现程序流

    1. 概述 本章内容包括 布尔表达式.流控制方式.集合遍历 以及 流跳转. 2. 主要内容 *由于该章内容比较基础,日常用的也很多,故对一些常用的基础内容不再赘述. 2.1 使用布尔表达式 熟悉下列比 ...

  3. python 装饰器(decorator)

    装饰器(decorator) 作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 装饰器(decorator)是一种高级Python语 ...

  4. Python学习教程(learning Python)--2.3.1 Python传参函数设计

    本节主要讨论设计传递多个参数子函数的设计方法. 在2.3节里我们讨论了如何自己设计一个带参数的子函数的设计方法,现在我们研究一下如何传递两个及以上参数的设计方法. 函数为何要带参数呢?其实原因很简单, ...

  5. ios中怎么样设置drawRect方法中绘图的位置

    其中drawRect方法中的参数rect就是用来设置位置的,

  6. iOS-CALayer

    iOS开发UI篇—CAlayer层的属性 一.position和anchorPoint 1.简单介绍 CALayer有2个非常重要的属性:position和anchorPoint @property ...

  7. PHP调用WEBSERVICE接口常见问题答疑以及总结

    最近的工作项目中,接触到了很多的政府 微信开发项目.对方的外包公司都是使用JAVA作为开发语言,然后通过WEBSERVICE进行接口返回数据到我的项目中.一般情况下,能在浏览器打开并显示数据的接口是直 ...

  8. php5调用web service (笔者测试成功)

    转自:http://www.cnblogs.com/smallmuda/archive/2010/10/12/1848700.html 感谢作者分享 工作中需要用php调用web service接口, ...

  9. [转]ubuntu 下minicom超级终端的使用方法

    [转]ubuntu 下minicom超级终端的使用方法 http://blog.chinaunix.net/uid-25909619-id-3184639.html 系统环境: Ubuntu 11.0 ...

  10. 68.vivado与modelsim的关联以及器件库编译

    vivado软件中也自带仿真工具,但用了几天之后感觉仿真速度有点慢,至少比modelsim慢挺多的.而modelsim是我比较熟悉的一款仿真软件,固然选它作为设计功能的验证.为了将vivado和mod ...