让我们比较一下:RunCloud vs Forge vs ServerPilot
当您的网站或 Web 应用程序超出了共享主机帐户的容量时,就该将其移至云端或虚拟专用服务器 (VPS)。 如今,VPS 提供商在 CPU 和 RAM 资源方面比共享主机提供商提供更好的价值。 然而,我还记得几年前我想将我的网站迁移到 Amazon Web Services 时,我花了几天时间来部署服务器并准备好使用 PHP、MySQL 和 Apache。
幸运的是,今天情况并非如此,因为我们有一些很酷的工具和第三方服务的帮助。
我查看了三个类似的服务——RunCloud、ServerPilot 和 Laravel Forge——并将它们进行比较,看看哪个表现最好。 这些 SaaS 工具可以帮助在任何云托管提供商(如 AWS、Linode、Vultr、Digital Ocean 等)上部署、配置、管理和监控 VPS。
RunCloud.io
注册很容易。 您不需要信用卡,甚至可以使用您的 Facebook、Google 或 GitHub 帐户。 如果您不喜欢使用您的社交媒体帐户,那么只需使用您的电子邮件地址即可。
使用 RunCloud,您需要做的是在几乎任何 VPS 托管提供商上部署全新的 Ubuntu 16.04 LTS VPS。 在本教程中,我使用了每月 5 美元的 Linode VPS。
当您的服务器准备就绪时,您返回 RunCloud 并输入您的服务器详细信息(如 IP 地址)以获取您的连接命令。
你会得到一个很长的单行命令,就像这样。
您需要做的就是以 root 用户身份在服务器中运行命令并让它运行。 该过程可能需要大约 15 到 20 分钟才能完成,完成后,您可以开始从 Web 面板中管理您的服务器。
管理您的服务器
接下来您需要创建一个 Web 应用程序。 这就像网络服务器中的虚拟主机。 当您这样做时,您可以选择您的 PHP 版本,并且您可以将您的域名分配给 Web 应用程序。 您可以分配多个。
用户界面非常友好且直观,您可以快速轻松地找到所需的任何内容。 我最基本的需求是能够创建虚拟主机(Web 应用程序)、分配域名和创建数据库,并可能从 GitHub 或任何其他 Git 服务器部署我的应用程序。 还有一个脚本安装程序,支持 WordPress、Joomla、Concrete5、PHPMyAdmin 和一些更常见的 PHP 工具。
如果您进行 PHP 开发并使用 Git,RunCloud 支持从 GitHub、Bitbucket、Gitlab 以及您自己的自定义 Git 服务器安装部署脚本。
我们稍后会研究性能。
服务器领航员
ServerPilot.io 可能是三者中最古老的,也是最畅销的。 当我四处询问是否有人在使用服务器管理工具时,可能是 ServerPilot.io。
ServerPilot.io 有一个免费帐户,您可以使用有限的功能,还有 Coach(10 美元/月)和 Business(49 美元/月)计划。 请记住,这些价格是针对服务器部署的,而不是针对 ServerPilot 的每个帐户。
Coach 具有更多功能,例如通过 LetsEncrypt 提供的免费 SSL、服务器健康状况统计等。 Business 包更像是一个迷你 NewRelic 或应用程序性能监控服务。 您可以查看慢速脚本请求、应用程序资源统计信息等。
当然,免费套餐已经足够好了,但与他们的 Coach 和 Business 选项相比有限。
连接服务器
这个感觉跟RunCloud差不多。 您还需要一个全新的 Ubuntu 16.04 VPS 服务器才能启动。 如果您有服务器的根密码,则无需通过 SSH 复制和粘贴安装程序命令。 您可以输入服务器 IP 地址和 root 密码,ServerPilot 将在几分钟内准备好您的服务器。
但是,如果您不想在 ServerPilot 中输入服务器的根密码,那么您可以选择不这样做。 您可以获得安装运行命令,然后通过 SSH 将其复制并粘贴到您的服务器中。
老实说,服务器部署过程感觉非常流畅和快速。 我对此感到惊讶。 完成后,我被重定向到立即创建一个应用程序。 在这里,App 就像是虚拟主机。 完成后,可以选择安装 WordPress。 我想我会尝试一下。 如果需要,您还可以选择 PHP 版本。 我选择了 PHP 7.1。
管理您的服务器
从注册到部署服务器再到启动和运行,体验非常好而且很快。 您可以立即让服务器运行。
当 WordPress 是一个安装选项时,我希望看到其他 PHP 工具(如 Joomla 和 Concrete5)也可用。 不幸的是,它们不存在,并且 ServerPilot.io 也没有提供设置 Web 根目录以外的选项 /public
.
我希望看到的另一件事是一种从 GitHub 部署我的应用程序的方法。 我找不到那个。 我从文档中发现,如果我想通过 Git 部署我的脚本,我仍然必须通过 SSH 来完成。
调度或 crontab 也是如此。 如果您熟悉 CPanel,您会希望将调度内置到 ServerPilot 的 Web 面板中。 不幸的是,事实并非如此。 不过,您仍然可以通过 SSH 管理自己的 crontab。
Laravel 锻造
不幸的是,如果您只是想尝试一下,没有免费级别的帐户。 Growth 帐户的起价为 15 美元/月,而 Business 帐户的起价为 39 美元/月。 好处是,它适用于无限数量的服务器部署。 但是,您选择获得的任何帐户都可以免费试用 5 天。 如果您订阅年度订阅,您将获得增长账户 40 美元的折扣,商业账户 69 美元的折扣。
这两者之间的区别主要在于将团队成员添加到您的帐户中以帮助您进行服务器管理。 Growth 帐户主要用于个人用户,而 Business 帐户允许您添加团队成员来帮助您。
连接服务器
与 ServerPilot 和 RunCloud 不同,Laravel Forge 将通过 API 连接到您的云托管提供商,并代表您在那里部署服务器。 有了这个,您不必先在云托管提供商中部署您的服务器,然后再将详细信息输入 Laravel Forge。 Laravel Forge 会为你创建它们。 目前,Laravel Forge 支持 Digital Ocean、AWS 和 Linode。
对于当前不支持的任何云托管提供商,您仍然可以在自定义 VPS 选项下将它们添加到 Laravel Forge 中。 它的工作方式与 Server Pilot 和 RunCloud 非常相似。 您将需要一个全新的 Ubuntu 16.04 64 位 VPS,然后在 Laravel Forge 中启动连接过程。 就像 RunCloud 一样,您需要通过 SSH 输入安装脚本命令。
管理您的服务器
在管理服务器方面,Laravel Forge 涵盖了很多内容。 当您的服务器准备就绪时,您可以创建一个站点(虚拟主机)。 由于 Laravel Forge 是由 PHP 开发人员创建的,因此 Git 实际上是您部署文件的主要方法。 或者,您可以从安装 WordPress 开始。
创建站点时,您会看到添加域名的选项。 并且您可以设置是否启用通配符子域选项。 但是,单个站点没有多个域名的选项。
还有调度、MySQL数据库管理等。 您还可以将您的服务器与 Blackfire.io 集成以进行应用程序性能监控和 Papertrail (https://papertrailapp.com/) 以进行日志分析。
虽然没有太多关于服务器健康信息。
总而言之,Laravel Forge 主要是为了部署基于 Laravel 的 PHP 应用程序而开发的,并支持后来添加的其他 PHP 框架和脚本。
性能测试
因为我使用这三种工具部署了三台服务器,所以我想我应该相互测试它们。 为了让事情变得有趣,我想我会添加另一个我用 Ubuntu 16.04 部署的 LAMP 堆栈,并且 tasksel lamp-server
命令。
我知道我并没有真正将服务器推向极限,但我认为这是一个很好的指标,可以看出它们彼此之间的表现如何。
为了测试服务器,我安装了带有默认主题和数据的 WordPress。 然后我在一个单独的服务器上安装了 Siege 以查看服务器可以接受多少请求和点击。 My Siege 设置了 25 个并发客户端设置和一 (1) 分钟的测试时间。
附带说明一下,我部署了四个 Linode 1GB VPS,每个工具一个。 它们都具有相同的规格并驻留在同一个数据中心。 围攻在第五个服务器上。
所以这里是测试的结果:
第一次运行
Results RunCloud ServerPilot Laravel Forge Tasksel LAMP Transactions (hits) 17710 12304 18278 10703 Availability (%) 100.00 100.00 100.00 100.00 Elapsed time (secs) 59.45 59.85 59.11 59.30 Data transferred (MB) 632.61 439.57 652.97 198.14 Response time (secs) 0.06 0.10 0.06 0.11 Transaction rate (trans/sec) 297.90 205.58 309.22 180.49 Throughput (MB/sec) 10.64 7.34 11.05 3.34 Concurrency 16.95 19.66 17.26 20.42 Successful transactions 17710 12304 18278 10703 Failed transactions 0 0 0 0 Longest transactions 1.36 1.83 1.57 1.66 Shortest transactions 0.00 0.00 0.00 0.00
第二轮
Results RunCloud ServerPilot Laravel Forge Tasksel LAMP Transactions (hits) 17820 13110 18386 10077 Availability (%) 100.00 100.00 100.00 100.00 Elapsed time (secs) 59.50 59.63 59.57 59.55 Data transferred (MB) 636.64 468.41 656.72 186.57 Response time (secs) 0.06 0.09 0.05 0.12 Transaction rate (trans/sec) 299.50 219.86 308.65 169.22 Throughput (MB/sec) 10.70 7.86 11.02 3.13 Concurrency 17.18 19.31 16.97 20.54 Successful transactions 17822 13110 18386 10077 Failed transactions 0 0 0 0 Longest transactions 1.33 1.77 0.95 2.38 Shortest transactions 0.00 0.00 0.00 0.00
Laravel Forge 是最好的,能够在一分钟内以 25 个客户端并发接收超过 18000 次服务器点击。 RunCloud 以约 17000 次服务器点击率位居第二。 ServerPilot 排名第三,他们的点击率约为 13000 次。 但这仍然是对正常 Tasksel LAMP 服务器安装的改进,它能够在 1 分钟内对服务器进行大约 10000 次点击。
执行结果
- Laravel Forge RunCloud ServerPilot Tasksel LAMP-server
结论
我相信每个人都有自己的长处和短处。
润云
RunCloud 拥有最好的 Web 面板,其中包含管理服务器所需的一切。 它几乎就像您用于共享主机帐户的旧 CPanel。 有 Git 部署选项、服务器健康信息、每个虚拟主机的多个域、SSH 密钥、防火墙选项、数据库管理、文件管理器和编辑器,等等。 显然,就功能而言,RunCloud 是最好的。
这也是最便宜的选择,物超所值。 无限服务器部署只需 10 美元/月。
缺少的是团队成员选项。 此外,在性能方面,Laravel Forge 优于 RunCloud,但有些人可能会接受这一点,因为差异并没有那么大。
服务器领航员
我希望 ServerPilot 能够表现良好,因为他们已经进入市场一段时间,但事实证明它可能比 Tasksel 好 25% 到 30%,并且排在 RunCloud 之后的第三位。
他们的网络面板界面也有点令人失望。 它没有提供很多功能来帮助您管理服务器。
对我来说,没有 Git 部署和调度 (Crontab) 是服务器管理的两大缺点。
在价格方面,在免费级别之后,ServerPilot 的起价为每台服务器 10 美元,这是三者中最昂贵的选择。
我可以称赞 ServerPilot 的一件事是部署服务器的速度。
Laravel 锻造
Laravel Forge 最好的地方在于它们的服务器性能。 如果那是您想要的,那么这就是您的选择。 他们的服务器胜过其他服务器!
API 集成还有助于部署服务器,而无需做太多事情。 一旦您的 Forge 帐户通过 API 连接到 AWS、DigitalOcean 或 Linode,您就不必来回访问您的云托管提供商来启动和运行服务器。
然而,Web 面板和功能非常基本,但比 ServerPilot 更好。 您确实有 Git 部署和调度,但没有服务器健康信息。 虽然您可以轻松实现通配符子域,但您在 Forge 上的站点不会为您提供多个域名的选项。
如需更多功能和更多有用信息,您可以集成第三方选项,如 Blackfire.io 和 Papertrail。 但是,这会花费您额外的费用。
您使用这些提供商中的哪一个? 或者根本没有? 为什么?