我正在考虑在VPS 主机上为 PHP Webapp使用Linode 。Linode 提供各种 Linux 发行版。我基本上是在一个绝对最小化内存使用量同时仍然保持站点性能的配置之后。那么我应该如何配置呢?
- 我听说nginx的占用空间比 Apache 更小(而且通常更快);
- 我想要某种形式的操作码缓存,无论是 APC、eAccelerator、Zend、XCache 还是其他东西;
- 我将运行 MySQL 5;
- 推荐的发行版?我听说 Arch Linux 相当准系统(我习惯于 Ubuntu);
- 我将 GMail 用于域电子邮件,所以那里不需要任何东西;
- Linode 似乎单独提供了 DNS 服务(免费),所以我不需要运行 DNS 服务器,对吗?
- 我还能做些什么来降低内存使用率?
PHP 不是很占用内存,所以我认为您不必太担心内存使用情况,除非您的应用程序需要它,在这种情况下 PHP 的内存占用不会太大。
也许您可以更多地研究优化 MySQL。
你能告诉我们你将运行什么样的网络应用程序吗?同时,如果您真的想尽可能多地挤出性能,这里有一些资源:
我肯定会使用单进程 Web 服务器(nginx或lighttpd)并通过FastCGI使用 PHP 。不惜一切代价避免使用 Apache + mod_php,因为这将导致所有 Apache 工作进程都承担 PHP 开销(并且即使它们主要服务于静态内容也会消耗大量内存)。
如果你习惯了 Ubuntu,那么继续使用它(因为它基于 Debian,它非常灵活,你可以只安装你真正需要的那些包)。
我在托管 wordpress 博客的 linode360 上运行(现在使用带有 html 的站点的 nginx)nginx、php/FastCGI、xcache 和 mysql5。
这是一个非常好的和精益的托管解决方案。
如果你走下 FastCGI 路径,要确保你看看的一件事是使用php-fpm编译 php 与仅从 spawn-fcgi 运行 php 相比,这提供了一些不错的进程管理。
您运行的发行版取决于您作为工作人员的舒适维护。
我的经验表明,但是 YMMV、CentOS 的服务器需要比 Archlinux 更少的持续修补,但是设置可能更具挑战性,因为一些软件包往往有点过时。即:CentOS nginx = 0.6.34 Archlinux nginx = 0.7.60 并且需要从 SRPM 构建。
我运行了一个 Archlinux linode 6 个月,然后 6 个月前去了一个 CentOS linode。我还在家里运行 Archlinux。