如何在运行 Ubuntu 12.04 的云服务器上安装备用 PHP 缓存 (APC)
状态:已弃用
本文涵盖不再受支持的 Ubuntu 版本。如果您目前正在运行运行 Ubuntu 12.04 的服务器,我们强烈建议您升级或迁移到受支持的 Ubuntu 版本:
- 升级到 Ubuntu 14.04。
- 从 Ubuntu 14.04 升级到 Ubuntu 16.04
- 将服务器数据迁移到支持的版本
原因:
请参阅:
关于 APC
APC 是一个很棒的 PHP 运行代码缓存系统,可以帮助加速您的站点。 PHP 是一种动态的服务器端脚本语言,需要在每次页面请求时由服务器进行解析、编译和执行。但在许多情况下,请求会产生完全相同的结果,这意味着云服务器必须为每个请求重复所有这些步骤,这是不必要的。
这就是 APC 发挥作用的地方。它所做的是将 PHP opcode(操作代码)保存在 RAM 内存中,如果再次请求,则从那里执行它。从本质上讲,它绕过了解析和编译步骤,并最大限度地减少了云服务器上一些不必要的负载。
本教程将向您展示如何安装和配置 APC。它假定您已经在使用 root 权限运行自己的 VPS 并在其上安装了 LAMP 堆栈。如果您在继续这些方面需要帮助,可以阅读本教程。
安装 APC
要安装 APC,您首先需要处理几个依赖项。使用以下命令安装这些软件包:
sudo apt-get install php-pear php5-dev make libpcre3-dev
接下来,您可以使用 pecl 命令安装 APC:
sudo pecl install apc
您将被问到一些问题,但除非您确切地知道您正在启用什么,否则请按 Enter 使用默认值。
安装的下一步也是最后一步也在终端窗口中提到。您需要编辑 php.ini 文件并在末尾添加一行。打开并编辑文件:
sudo nano /etc/php5/apache2/php.ini
将以下行添加到它的底部:
extension = apc.so
保存,退出文件,然后重启 Apache:
sudo service apache2 restart
要查看 APC 现在是否已启用,您可以查看 PHP 信息页面。如果没有,可以在 /var/www 文件夹中创建一个空的 php 文件:
nano /var/www/info.php
并粘贴以下代码:
<?php
phpinfo();
?>
保存、退出并在浏览器中打开该文件。在那里你会找到关于你的云服务器上安装的 PHP 的各种信息,如果启用了 APC,它应该会出现在那里。在生产环境中将该文件留在那里可能不是一个好主意,因此请确保在完成检查后将其删除。
配置 APC
您现在已经安装了 APC 并使用默认选项运行它。您至少应该了解两个主要的配置设置。首先,重新打开您之前编辑的 php.ini 文件:
sudo nano /etc/php5/apache2/php.ini
在您粘贴以启用 APC 的行下方,粘贴以下行:
apc.shm_size = 64
这将从 RAM 中分配 64MB 给 APC 用于缓存。根据您的 VPS 要求和限制,您可以增加或减少这个数字。
您可以在下面粘贴的另一行如下:
apc.stat = 0
apc.stat 设置检查每个请求的脚本以查看它是否被修改。如果它已被修改,它将重新编译它并缓存新版本。这是每个 APC 安装附带的默认行为。将其设置为 0 将告诉 APC 不要检查脚本中的更改。它提高了性能,但也意味着如果 PHP 脚本有更改,它们将不会反映到云服务器重新启动之前。因此,仅建议在确定这是您想要的生产站点上将其设置为 0。
现在 APC 已启动并运行,您可以使用一个漂亮的小页面来检查其状态和性能。您可以在 /usr/share/php/ 文件夹中找到一个 apc.php 文件。您必须将此文件移动到浏览器可访问的某个位置 - 比方说 www 文件夹:
cp /usr/share/php/apc.php /var/www
现在在浏览器中导航到该文件:
http://<IP_Address>/apc.php
您将获得一些有关 APC 的有趣统计数据。需要注意的是APC有足够的内存来存储它的信息,不要有太多的碎片。
此外,一个很好的指标表明 APC 正在发挥作用,即命中率明显高于未命中率;在几次请求之后,第一个应该超过 95%。
结论
APC 是一个非常易于安装和管理的缓存系统,适用于托管在云服务器上的站点。如果您想继续提高站点性能,可以考虑安装 Varnish 以获得更好的性能。