如何在运行Ubuntu12.04的云服务器上安装备用PHP缓存(APC)
状态: 已弃用
本文介绍了不再受支持的 Ubuntu 版本。 如果您当前正在运行运行 Ubuntu 12.04 的服务器,我们强烈建议您升级或迁移到受支持的 Ubuntu 版本:
原因: Ubuntu 12.04 已于 2017 年 4 月 28 日终止生命周期 (EOL) and no longer receives security patches or updates. This guide is no longer maintained.
请参阅:
本指南可能仍可用作参考,但可能不适用于其他 Ubuntu 版本。 如果可用,我们强烈建议使用为您正在使用的 Ubuntu 版本编写的指南。 您可以使用页面顶部的搜索功能来查找更新的版本。
关于 APC
APC 是一个很棒的 PHP 操作代码缓存系统,可以帮助您加快站点速度。 PHP 是一种动态的服务器端脚本语言,每个页面请求都需要由服务器解析、编译和执行。 但在许多情况下,请求会产生完全相同的结果,这意味着云服务器必须为每个请求重复所有这些步骤。
这就是 APC 发挥作用的地方。 它所做的是将 PHP 操作码(操作码)保存在 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 是一个非常易于安装和管理托管在云服务器上的站点的缓存系统。 如果您想继续提高站点性能,您可以查看 安装 Memcache 甚至 安装 Varnish 以获得更好的性能。