当前位置: 首页>>技术教程>>正文


如何在适用于PHP的Ubuntu Server 10.04上设置Memcached/APC?

, ,

问题描述

我很快将在新的Ubuntu Server 10.04 VPS上建立“简单机器”论坛。论坛软件是用PHP编写的。我将使用Nginx作为Web服务器,并遵循以下指南在其上安装PHP-FPM:http://constantshift.com/install-php-fpm-5-3-2-on-ubuntu-10-04-lucid-lynx/

但是该指南并没有真正说明有关设置Memcached或APC进行缓存的任何内容。在网上浏览,搜索此站点并搜索Stack Overflow之后,我仍然缺少如何成功设置这些设置的答案。

谁能提供信息,指南,链接帮助?非常感激。

最佳思路

首先,确定是否需要memcached。 APC既是”accelerator”(一个操作码缓存,它是相当透明的),又是一个缓存解决方案(提供了需要写入/读取代码的in-memory数据存储)。 memcache只做后者。

通常需要memcached的唯一原因是,如果要运行需要从同一缓存读取/写入的多个服务器。只要您只运行一个Web服务器主机,APC就能解决问题。

安装APC非常简单。

[root@host]# pecl install apc     #or sometimes pecl install apc-beta
[root@host]# service php5-fpm start

仅使用APC的默认设置,您可能会立即注意到性能提升。

然后,您可以根据需要进行调整。有关各种设置,请参见the docs

我见过的最常见的设置是单个段,其大小按对您的系统有意义的方式进行设置:

在php.ini中:

extension=apc.so
apc.enabled = 1
apc.shm_segments = 1
apc.shm_size = 50M 

APC附带了一个方便的apc.php脚本,它将为您提供许多有用的数据(例如,您获得的命中/失败次数)以及漂亮的图表。

次佳思路

Memcached是一台服务器。因此,使用apt-get安装它。install memcached PHP需要扩展才能与memcached一起使用:apt-get install php5-memcache加速器APC由另一个扩展提供:apt-get install php-apc

不要忘记重新启动Web服务器以使用新模块。

我忘了链接:[http://php.net/manual],然后检查memcache,apc

第三种思路

在php.ini中,避免使用apc.shm_size = 50M,而应使用apc.shm_size = 50M后缀使PHP忽略更改的大小,尽管PHP会在任何地方向您声明50M是它使用的大小。你只会被误会。

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/11056.html,未经允许,请勿转载。