【技术控】LNMP安装使用 Memcached 内存缓存加速网站

  • A+
所属分类:技术控

福利档建立初期一直运行在由Godaddy提供的基础虚拟主机上,后来网站的持续发展和流量的不断增加,虚拟主机已经明显凸显瓶颈,并且有一段时间内不断受到黑客攻击(在关于福利档的页面早有提及)。于是将福利档更换到了位于香港的VPS主机上,当时使用的是WDCP提供的LANMP(Linux+Apache+Nginx+Mysql+PHP),资源占用较大,虽然也是得过且过的一步一步走来。

档主对运维了解不多,目前也是在摸索学习着。在之前的VPS主机上经常会遇到各种各样的问题,例如不使用缓存插件在访问人数过多情况下,易造成Mysqld进程崩溃,网站无法打开;或者httpd进程过多,CPU占用率100%导致主机自动关机或重启……

选用LANMP是由于Apache下的伪静态规则比较容易寻找和编写。其实在使用过程中就不断发现有人说LANMP是个臃肿的架构,数个月的使用和体验,档主表示,对于不懂优化的人而言:确实如此。

这个月初福利档又无情的遭受了一波黑客攻击。主机IP被机房空路由处理,福利档网站将近一天无法打开访问。虽然也没什么太大损失,但是作为站长来说发现自己网站无法打开心中终有不快。

迫不得已,还是决定给福利档换家。这次选择了一家美帝VPS服务商,并将福利档运营于岛国的VPS主机上。对于系统环境而言,这次果断抛弃了臃肿不堪、最近还多次爆出漏洞的WDCP。进过一番考虑,最后选择了最基础的LNMP!

LNMP所有组件来自:lnmp.org提供的LNMP一键安装包。这应该是当前互联网上使用率、好评率较高,易用性较好的LNMP一键安装包了。档主在这方面的原则是,使用人多,问题就少;即使遇到问题,咨询求解也方便。并且Nginx的资源占用方面也比Apache要更低更优秀!

换家之后试运行的几天,效果不错,加上使用了CloudFlare的CDN加速服务,网站平稳、快速了很多。尽管如此,必要的优化还是必不可少的。

【技术控】LNMP安装使用 Memcached 内存缓存加速网站

从网站层面来说,必要的wordpress缓存加速插件;从系统层面来说,最好安装一些内存缓存优化软件。这里档主推荐Memcached!

Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态、数据库驱动网站的速度。

Memcached基于一个存储键/值对的hashmap。其守护进程(daemon )是用C写的,但是客户端可以用任何语言来编写,并通过memcached协议与守护进程通信。

Memcached由Danga Interactive开发,用于提升LiveJournal.com访问速度的。LJ每秒动态页面访问量几千次,用户700万。Memcached将数据库负载大幅度降低,更好的分配资源,更快速访问。

在LNMP一键安装包中已经包含了Memcached的安装脚本,直接运行即可。步骤如下:

1。使用SSH软件,例如PuTTy,登录VPS主机。进入lnmp解压后的目录

cd /root/lnmp1.1-full/

2。执行安装脚本

./memcached.sh

3。回车确认后就会自动安装memcache php扩展和memcached。安装完以后,就可以正常启用了。

安装好Memcached后,还可以考虑安装开启WordPress的 Memcached 缓存插件:Memcached Object Cache

点击上方链接下载 WordPress 的 Memcached 插件,解压后,将 object-cache.php 上传到 wp-content 目录(注意:不是 wp-content/plugins/ 目录)。WordPress 会自动检查在 wp-content 目录下是否有 object-cache.php 文件,如果有,直接调用它作为 WordPress 对象缓存机制。

另外:如果你的服务器安装了多个 WordPress,请确保每个WordPress站点使用了不同的数据库前缀,如果前缀一样,比如都是 wp_ ,就很可能造成冲突,因为每个网站的数据都通过内存进行缓存,前缀一样就会造成冲突!

为你的 WordPress 站点开启了 memcached 缓存以后,就没必要安装 DB Cache Reloaded Fix 这类数据库缓存插件了。

当然,如果有需要还可以查看 Memcached 缓存情况。

1、这里需要使用 telnet 命令进行查询查看,首先检测一下是否已安装 telnet 包:

rpm -qa |grep telnet

如果安装了,会返回相关版本信息,例如:

telnet-0.17-41.el5

telnet-server-0.17-41.el5

2、如果没有返回telnet信息,请运行以下命令进行安装:

yum install xinetd

yum install telnet-server

telnet服务要依靠xinetd服务启动,所以要先安装xinetd服务。所以我们要先安装xinetd,再安装telnet-server。

3、一切就绪之后开始连接 telnet 服务

telnet 127.0.0.1 11211

如果链接成功,会返回:

Trying 127.0.0.1...

Connected to 127.0.0.1.

Escape character is '^]'.

4、查看 Memcached 的缓存情况,输入以下指令后回车就会列出所有 Memcached 缓存信息:

stats

5、如果想要清空现有缓存数据,可以使用以下命令:

stats reset

6、如何退出 telnet 服务,输入组合键 Ctrl+] 出现

telnet>

输入 quit 即可。

7、如何关闭Memcached?

直接使用 kill 指令杀死进程ID 即可,例如Memcached进程ID为1234,那就使用 kill 1234 即可。

档主

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

目前评论:2   其中:访客  2   博主  0

    • 苏元七 苏元七 0

      站长shi在哪买的vps

      • 福利档的YY 福利档的YY 0

        求贵站vps商家具体地址