It’d be great if you and your clients always had exactly the right hardware on hand, with the right version of your favorite environment installed, and the horsepower to deal with running all of your apps. Of course, out here in the real world, that’s true only some of the time. That’s why every developer ought to have some options for managed hosting, but which one can you rely on to support your applications? In this article, we’ll examine some of the best developer-friendly web hosts for your next project.
如果您和您的客户始终拥有完全正确的硬件,安装了您喜欢的环境的正确版本以及处理运行所有应用程序的能力,那就太好了。 当然,在现实世界中,只有部分时间是正确的。 这就是每个开发人员都应该有一些托管托管选项的原因,但是您可以依靠哪一个来支持您的应用程序? 在本文中,我们将为您的下一个项目研究一些最适合开发人员的虚拟主机。
考生 (The Candidates)
We’ve compared six hosting providers known to be relatively developer-friendly. In no particular order, we examined plans from A Small Orange, DreamHost, Hosting Rails, Media Temple, RailsPlayground, and WebFaction.
我们已经比较了六家托管托管提供商,这些托管提供商相对开发人员友好。 我们以特殊顺序对A Small Orange,DreamHost,Hosting Rails,Media Temple,RailsPlayground和WebFaction的计划进行了检查。
We’ve looked for all the usual suspects when evaluating hosts: disk space, monthly cost, contract term, and so on. While choosing hosts for the study, we tried to stick to ones that suit developers: low resource limits, poor or missing support for simplified administration panels, and limited control were some of the attributes that led us to exclude a plan from the study.
我们在评估主机时会寻找所有常见的可疑对象:磁盘空间,每月成本,合同期限等。 在选择研究主机时,我们尝试坚持适合开发人员的主机:资源有限,对简化的管理小组缺乏支持或缺少支持,以及有限的控制,这些都是导致我们从研究中排除计划的一些属性。
Just about all the plans in the final lineup had sufficiently generous resource limits so that you’d never need to worry about them; plenty of databases, users, domains, and mailboxes, with the only constraints being disk space and bandwidth. At this end of the scale, CPU/RAM usage is more of an issue, with most of these hosts having some sort of policy for such usage.
最终阵容中的几乎所有计划都具有足够慷慨的资源限制,因此您无需担心它们。 大量的数据库,用户,域和邮箱,唯一的限制是磁盘空间和带宽。 在此规模的末尾,CPU / RAM的使用成为更多问题,因为这些主机中的大多数都有某种针对此类使用的策略。
Another major factor was language support: we expected all of these hosts to support PHP, Python, and Ruby at the least, with Perl support a nice to have. For deployment of non-PHP applications, FastCGI support was an absolute minimum, with mod_python and Passenger (mod_rails) desirable.
另一个主要因素是语言支持:我们希望所有这些主机至少都支持PHP,Python和Ruby,而Perl则很不错。 对于非PHP应用程序的部署,FastCGI支持是绝对最低要求,最好使用mod_python和Passenger(mod_rails)。
Finally, we’ve tried a couple of real-world tests by actually running software on these web hosts. We started with the pre-install check of Joomla, which verifies some sensible values for PHP configuration directives, followed by installing some basic PHP and Django applications, using whatever installation methods the host provides.
最后,我们通过在这些Web主机上实际运行软件来尝试了一些实际测试。 我们从Joomla的预安装检查开始,该检查会验证PHP配置指令的一些合理值,然后使用主机提供的任何安装方法安装一些基本PHP和Django应用程序。
We’ve laid out each plan and feature in a handy table, but of course a good comparison must go deeper than that – let’s discuss each offering in more detail.
我们已经在方便的表格中列出了每个计划和功能,但是当然,必须进行更深入的比较-让我们更详细地讨论每个产品。
小橙子:小 (A Small Orange: Small)
We chose to look into A Small Orange’s Small plan – though even the Tiny plan would serve quite well for a small app, the Small plan is a better comparison to the other plans in our lineup.
我们选择研究“小橙子的小计划” -尽管即使Tiny计划对于小型应用程序也非常有用,但“小计划”与我们阵容中的其他计划相比更好。
At A Small Orange, the control panel on offer is cPanel 11, which at first glance has a multitude of options for almost every conceivable task – email set-up, MySQL administration, and more. However, the use of a generic control panel solution makes some issues unclear: for example, to enable shell access with SSH at A Small Orange, one must request it when signing up or file a support request through an entirely separate system. However, the cPanel system still includes an area for setting up SSH access.
在“小橙子”中,提供的控制面板是cPanel 11,乍一看,它几乎可以处理几乎所有可能的任务,包括电子邮件设置,MySQL管理等等。 但是,使用通用控制面板解决方案会使一些问题不清楚:例如,要在A Small Orange启用SSH的外壳程序访问,在注册或通过完全独立的系统提出支持请求时必须请求它。 但是,cPanel系统仍包含用于设置SSH访问的区域。
MySQL was an interesting issue here, and indeed on all the cPanel hosts we reviewed – the DB server was always running on the same machine as the web server. The two other cPanel hosts in this roundup also had this issue, which may only be a minor problem for testing out software, but could impact your ability to scale up a deployed application without switching servers.
MySQL在这里是一个有趣的问题,实际上在我们审查过的所有cPanel主机上–数据库服务器始终与Web服务器运行在同一台计算机上。 本综述中的其他两个cPanel主机也存在此问题,这对于测试软件来说可能只是一个小问题,但可能会影响您在不切换服务器的情况下扩展已部署应用程序的能力。
One area where A Small Orange shone was PHP deployment; there were no issues with the Joomla pre-install check, bar the display_errors
directive (ON
instead of Joomla’s recommended OFF
). This was quite common among the hosts surveyed, but an ON
value for display_errors
is only a small issue as long as it’s disabled on a per-application basis.
PHP部署是A Small Orange的一个亮点。 Joomla的预安装检查没有问题,请除去display_errors
指令(将ON
为Joomla推荐的OFF
)。 在接受调查的主机中这很普遍,但是display_errors
的ON
值只是一个小问题,只要在每个应用程序中将其禁用即可。
PHP performance seems excellent. To test PHP performance, we used WordPress to convert an XML file containing over 500 posts with comments. A Small Orange’s server made quick work of the XML import, and had all posts imported within a minute or two. We tried a similar test on Media Temple, and the server was still going after ten minutes!
PHP性能似乎很棒。 为了测试PHP性能,我们使用WordPress转换了包含500多个带有注释的帖子的XML文件。 Small Orange的服务器可以快速完成XML导入,并且在一两分钟之内即可导入所有帖子。 我们在Media Temple上尝试了类似的测试,但服务器在十分钟后仍在运行!
While there is no official support for Django, instructions found on A Small Orange’s wiki were sufficiently detailed to get a FastCGI deployment up and running. However, the FastCGI approach was quite lengthy and left little room for optimization and tuning; serving static files over a separate domain could have been more straightforward than it was, and the cPanel system offered little help.
虽然没有官方支持Django,但在Small Orange的Wiki上找到的说明足够详细,可以启动并运行FastCGI部署。 但是,FastCGI方法非常冗长,几乎没有进行优化和调整的空间。 在一个单独的域上提供静态文件本来可以比以前更直接,并且cPanel系统提供的帮助很少。
DreamHost (DreamHost)
DreamHost offers just one plan, the price of which varies depending on the length of time you choose to prepay, and which added extras you purchase.
DreamHost 仅提供一种计划,其价格会因您选择预付款的时间长短而异,并且还会增加您购买的其他服务。
DreamHost operates on a larger user base than most of the hosts in this study, and has developed a series of in-house systems based around a custom control panel. In the panel, you’ll find a set of quick access options for the usual suspects: management of databases, domains, users, and so on, as well as fine-grained control over mail, a handful of reporting systems, and utilities for everything from crontabs to mailing lists to Subversion repositories. A wide range of one-click installation options is also available, including the latest version of Joomla.
与本研究中的大多数主机相比,DreamHost在更大的用户基础上运行,并且已基于自定义控制面板开发了一系列内部系统。 在面板中,您将找到一组通常可疑的快速访问选项:数据库,域,用户等的管理,以及对邮件的细粒度控制,少数报告系统以及用于以下目的的实用程序从crontabs到邮件列表再到Subversion存储库的所有内容。 还提供了多种一键式安装选项,包括最新版本的Joomla。
The Joomla pre-install check worked just fine, with only one little issue – display_errors ON
, again. However, it’s possible to use one’s own PHP configuration on a DreamHost service; see the DreamHost wiki for details. The CakePHP deployment worked as expected out of the box, without a hitch.
Joomla预安装检查工作正常,只有一个小问题– display_errors ON
。 但是,可以在DreamHost服务上使用自己PHP配置。 有关详细信息,请参见DreamHost Wiki。 CakePHP部署开箱即用,工作正常。
DreamHost has no official support for Django, so the general solution is to run Django under FastCGI. We deployed a standard Django blog application on a DreamHost service, following the lengthy instructions on the Django wiki page, without any major setbacks. Serving media files over a separate domain was relatively straightforward, thanks to DreamHost’s flexible domain controls.
DreamHost没有对Django的官方支持,因此一般的解决方案是在FastCGI下运行Django。 按照Django Wiki页面上冗长的说明,我们在DreamHost服务上部署了标准的Django博客应用程序,没有出现重大挫折。 借助DreamHost灵活的域控件,可以在一个单独的域上提供媒体文件相对简单。
For Rails, DreamHost has a very nice Phusion Passenger (mod_rails) setup that you can configure yourself without assistance from a system administrator. You can enable it on a per-domain basis, and it’s an excellent option for deploying Rails apps.
对于Rails,DreamHost具有非常好的Phusion Passenger(mod_rails)设置,您可以在没有系统管理员帮助的情况下进行自我配置。 您可以在每个域上启用它,这是部署Rails应用程序的绝佳选择。
HostingRails:初学者 (HostingRails: Beginner)
We test-drove HostingRails’ Beginner plan, with an extremely tiny price of just $43.08 per year.
我们测试了HostingRails的初学者计划 ,并以极低的价格(每年仅$ 43.08)进行测试。
HostingRails advertises itself as a Rails-oriented provider, but in reality it’s a perfectly good all-rounder with a fairly straightforward offering. Their servers run cPanel 10 and are loaded with more than enough Apache modules, Ruby gems, and PHP extensions. Server management is a simple affair; your shell details are provided in the welcome email, and all your domains work more or less out of the box.
HostingRails宣传自己是一个面向Rails的提供商,但实际上,它是一个非常出色的多面手,提供了相当简单的产品。 他们的服务器运行cPanel 10,并装有足够多的Apache模块,Ruby gem和PHP扩展。 服务器管理很简单。 您的外壳程序详细信息将在欢迎电子邮件中提供,并且您所有域都或多或少地开箱即用。
Running the Joomla pre-install check resulted in the same error as RailsPlayground – the web server was unable to write to its configuration file without it being world-readable. Similarly, CakePHP’s tmp and tmp/cache folders had to be made world-writable before Cake could write out its databases, caches, and other temporary data. Joomla also noted that display_errors
was ON
. Overall, however, the PHP experience was perfectly satisfactory, with no major issues. URL rewriting also worked out of the box.
运行Joomla预安装检查会导致与RailsPlayground相同的错误–如果Web服务器无法被世界读取,则无法写入其配置文件。 同样,在Cake可以写出其数据库,缓存和其他临时数据之前,必须使CakePHP的tmp和tmp / cache文件夹可全局写入。 Joomla还指出display_errors
为ON
。 总体而言,PHP体验非常令人满意,没有重大问题。 URL重写也可以立即使用。
Our Django test was a different experience, however. The wiki guide first directed us to install our own copy of Python in our home directory, suggesting the installed version of Python (2.4.3 on our server) was insufficient for the latest version of Django. After compiling Python, we then had to install the Python MySQL DB module to establish MySQL connections from Django’s database adaptor. A few quick changes pointed the system at our custom Python install; we then had to duplicate the django-admin.py file and point it at our custom Python as well. Finally, we set up the dynamic FastCGI configuration.
但是,我们的Django测试是不同的体验。 Wiki指南首先指示我们在主目录中安装我们自己的Python副本,这表明安装的Python版本(服务器上的2.4.3)不足以支持最新版本的Django。 编译Python之后,我们必须安装Python MySQL DB模块以通过Django的数据库适配器建立MySQL连接。 几项快速更改使系统指向了我们的自定义Python安装; 然后,我们必须复制django-admin.py文件,并将其也指向我们的自定义Python。 最后,我们设置了动态FastCGI配置。
While Django deployment could have been a lot better, HostingRails’ mod_rails functionality is well ahead of the pack, as we expected! Deployment instructions for Rails at HostingRails’ wiki were extremely straightforward and relatively quick, although manual intervention from a support technician is required for part of it.
尽管Django的部署本来可以好得多,但是HostingRails的mod_rails功能远远超出了我们的预期! 尽管需要部分支持技术人员的手动干预,但HostingRails Wiki上有关Rails的部署说明非常简单且相对快速。
Media Temple:(gs)网格服务 (Media Temple: (gs) Grid Service)
The (gs) Grid Service offering from Media Temple was a standout in this study, and in more than just the price tag – although at $240 per year, it isn’t exactly ideal for a spare test bed. Media Temple’s server cluster infrastructure is marketed as an extremely reliable system for hosting sites that may experience an unexpected burst of traffic; that is, experiencing short periods of a considerably above-average load, such as being featured on Slashdot or Digg.
Media Temple 提供的(gs)网格服务在这项研究中非常出众,而且价格不菲-尽管每年240美元,对于备用测试床来说,它并不是完全理想的选择。 Media Temple的服务器群集基础结构是一种非常可靠的系统,用于托管可能会遇到意外流量的站点。 也就是说,经历了短于相当平均水平的负载,例如在Slashdot或Digg上出现的负载。
Media Temple’s Django and Rails deployment solution, called Containers, were a highlight in this review. Starting at $20 per month, a container is essentially a mini virtual private server for your Django, Rails, or MySQL setup. A Django Container, for example, dedicates a certain amount of RAM for your Django applications, and provides easy management of your Django version and installed eggs for each container. (A container is essentially a lighttpd server in front of FastCGI threads, all preconfigured.)
Media Temple的Django和Rails部署解决方案(称为Containers)是本次评测的重点。 从每月20美元开始,容器实际上是Django,Rails或MySQL设置的微型虚拟专用服务器。 例如,一个Django容器为Django应用程序分配了一定数量的RAM,并为每个容器轻松管理Django版本和已安装的鸡蛋。 (容器本质上是在FastCGI线程之前的lighttpd服务器,它们都是预先配置的。)
The Media Temple control panel is extremely well designed and offers a reasonable level of control over systems. In particular, the panel offers considerable documentation, and even comes with a guide outlining usernames, access domains, and other service details. While the panel itself lacks the same level of control as other reviewed offerings, it’s extremely usable for deployment. At the time of writing only Drupal, WordPress, and Zen Cart were available as one-click install options.
Media Temple控制面板设计精良,可对系统进行合理级别的控制。 特别是,该面板提供了大量文档,甚至还提供了概述用户名,访问域和其他服务详细信息的指南。 虽然面板本身缺乏与其他经过审核的产品相同的控制级别,但它对于部署非常有用。 在撰写本文时,仅Drupal,WordPress和Zen Cart可作为一键安装选项。
Worthy of mention is the Media Temple Knowledge Base, an amazing resource with unmatched depth among web host guides. It even includes video tutorials suitable for end users, such as email program configuration.
值得一提的是Media Temple知识库 ,这是Web主机指南中无与伦比的深度资源。 它甚至包括适合最终用户的视频教程,例如电子邮件程序配置。
The Joomla install result was identical to that on DreamHost; all required settings met, and once again we found that display_errors
were set to ON
. Our CakePHP deployment went off without a hitch, but it’s the Django/Rails Container system that makes this offering worth every dollar: we had our sample Django application open for business within minutes, as opposed to the better part of an hour for A Small Orange and DreamHost. A single container managed multiple applications just fine, and application-level controls were extremely handy for deployment.
Joomla的安装结果与DreamHost上的相同。 满足所有必需的设置,然后我们再次发现display_errors
设置为ON
。 我们的CakePHP部署一帆风顺,但是Django / Rails容器系统使此产品物有所值:我们将示例Django应用程序在几分钟之内投入运营,而不是A Small Orange一个小时的时间和DreamHost。 单个容器可以很好地管理多个应用程序,并且应用程序级别的控件非常易于部署。
Rails游乐场 (RailsPlayground)
RailsPlayground offers a fairly standard range of managed, VPS, and dedicated hosting services – we chose Developer Hosting Level One. The servers are relatively standardized, running cPanel 10, and the company is well-known in Rails and Django circles for offering a less painful FastCGI deployment than usual. Interestingly, RailsPlayground offers a DIY lighttpd deployment solution with FastCGI for a static process, for which the support group allocates a dedicated port.
RailsPlayground提供了相当标准的托管,VPS和专用托管服务范围-我们选择了开发者托管一级。 这些服务器是相对标准化的,运行cPanel 10,该公司在Rails和Django圈子中广为人知,因为它提供了比平时少的痛苦的FastCGI部署。 有趣的是,RailsPlayground提供了一个带有FastCGI的DIY lighttpd部署解决方案,用于静态过程,支持小组为其分配了专用端口。
The cPanel setup was near identical to A Small Orange’s, and will make sense to anyone with experience on a previous version of cPanel; for the rest of us, a collection of introductory videos was helpfully offered at first login. Interestingly, the cPanel offers a section for installing PEAR packages, an option that may be useful for working with applications that require them, especially open source projects.
cPanel的设置几乎与A Small Orange的设置相同,并且对任何使用过cPanel的经验的人都有意义。 对于我们其他人来说,首次登录时会提供一些介绍性视频。 有趣的是,cPanel提供了一个用于安装PEAR软件包的部分,该选项对于使用需要它们的应用程序(特别是开源项目)可能有用。
While testing Joomla and CakePHP deployment, we had to manually make folders world-writable for the web server; without this, Joomla was unable to update its own configuration file, and similarly CakePHP complained about insufficient control over its temporary folder. Luckily, SSH worked out of the box with the access details in one of the five emails you’ll receive from RailsPlayground when starting your account. A couple of chmods later and we were ready to roll. Once again, Joomla found that the display_errors
setting was ON
, but otherwise Joomla and CakePHP were functioning fine, including URL rewriting for Cake.
在测试Joomla和CakePHP部署时,我们必须手动使该文件夹对于Web服务器是可写的。 没有这个,Joomla无法更新自己的配置文件,同样,CakePHP抱怨对其临时文件夹的控制不足。 幸运的是,SSH开箱即用,在您启动帐户时会从RailsPlayground收到五封电子邮件之一,其中包含访问详细信息。 几个chmods之后,我们就可以开始了。 Joomla再一次发现display_errors
设置为ON
,但除此之外,Joomla和CakePHP都可以正常工作,包括为Cake重写URL。
Django deployment was a breeze on RailsPlayground – less so than Media Temple’s approach, but relatively straightforward nonetheless. Serving files over a separate domain was no issue, and the server we worked with had the latest stable version of Django installed, with django-admin.py ready to go. The RailsPlayground wiki has a helpful guide to Django and Rails deployment explaining each step.
Django的部署对RailsPlayground来说是轻而易举的事,虽然比Media Temple的方法要差一些,但是相对来说还是很简单的。 在单独的域上提供文件是没有问题的,并且我们使用的服务器已安装了最新的稳定版本的Django,并且可以使用django-admin.py。 RailsPlayground Wiki提供了有关Django和Rails部署的有用指南,解释了每个步骤。
WebFaction:共享1个计划 (WebFaction: Shared 1 Plan)
Last and perhaps not least – we tested WebFaction’s Shared 1 plan, an offering which is possibly the most unique in this roundup.
最后,也许并非最不重要–我们测试了WebFaction的Shared 1计划 ,该计划可能是本综述中最独特的。
WebFaction, formerly known as python-hosting.com, specializes in web application deployment, with stunning results. The control panel is a fairly straightforward affair, a custom system that gets the job done – well, until we look at domains and applications. WebFaction has a unique approach to one-click installers, creating applications under a ~/webapps folder, with everything from Rails to Drupal to Django available. Once an application is created, a web site can then be configured to mount one or more applications at particular URLs.
WebFaction(以前称为python-hosting.com)专门从事Web应用程序部署,效果惊人。 控制面板是一件相当简单的事情,它是一个自定义的系统,可以完成任务-很好,直到我们研究域和应用程序为止。 WebFaction具有一种独特的一键式安装程序方法,可在〜/ webapps文件夹下创建应用程序,并提供从Rails到Drupal到Django的所有功能。 创建应用程序后,便可以将网站配置为在特定URL上挂载一个或多个应用程序。
We started out creating a “Static/CGI/PHP” site, and had the Joomla pre-install check ready within a minute. The only warning from the installer was our old friend, display_errors
– ON
instead of OFF
– with everything else ready to go. Our CakePHP install revealed some unexpected issues, however: owing to WebFaction’s managed URL rewriting for each application, we were unable to have mod_rewrite use Cake’s own pretty URLs. Everything else, however, was working fine.
我们开始创建“ Static / CGI / PHP”站点,并在一分钟内完成了Joomla预安装检查。 安装程序发出的唯一警告是我们的老朋友display_errors
– ON
而不是OFF
–一切准备就绪。 我们的CakePHP安装显示了一些意外的问题,但是:由于WebFaction对每个应用程序进行了托管URL重写,因此我们无法让mod_rewrite使用Cake自己的漂亮URL。 但是,其他所有工作都很好。
The control panel really shone in our Django deployment, however; the process was so straightforward, there was no need to login over SSH to get the first project template up and running. A wide variety of Django versions (at the time of writing, 0.96.3, 1.0, 1.0.2, and trunk) were all available and recommended, with a handful of prior releases marked “INSECURE.” WebFaction even offers a choice between mod_python and mod_wsgi; we tried the WSGI approach for this review. After creating a Django trunk application, we could load up the URL immediately and were ready to go.
但是,控制面板在我们的Django部署中确实发光。 该过程非常简单,无需通过SSH登录即可启动并运行第一个项目模板。 各种各样的Django版本(在撰写本文时,分别为0.96.3、1.0、1.0.2和trunk)均已提供并推荐使用,其中一些以前的版本标记为“不安全”。 WebFaction甚至可以在mod_python和mod_wsgi之间进行选择。 我们对此尝试使用WSGI方法。 创建Django干线应用程序后,我们可以立即加载URL并准备就绪。
The deployment was just about on par with Media Temple, and at less than $10 per month (depending on how much you pre-pay), this is definitely an excellent option for Django development. If you’re interested in frameworks such as CherryPy, Pylons, Turbogears, or anything else that you might like to run under mod_python, have a look at the WebFaction plans; official support for all of these is included out of the box.
部署与Media Temple差不多,并且每月不到10美元(取决于您的预付款),对于Django开发而言,这绝对是一个绝佳的选择。 如果您对CherryPy , Pylons , Turbogears之类的框架感兴趣,或者您可能希望在mod_python下运行的任何其他框架,请查看WebFaction计划。 所有这些的官方支持均已包含在内。
判决 (The Verdict)
We’ve explored several excellent options for managed hosting in this review, and which one you choose is up to you and what you need. Here are our picks for common scenarios.
在这篇评论中,我们探索了几种托管托管的绝佳选择,您可以选择哪种取决于您自己以及您需要什么。 这是常见情况的精选。
No-hassle Rails/Django Deployment
轻松的Rails / Django部署
For deploying a Rails or Django application with as little fuss as possible, it’s hard to go past Media Temple. Their Grid Server platform could be more flexible, but the Container system makes pushing your application live a breeze, while still being compatible with your existing version control.
为了尽可能少地部署Rails或Django应用程序,很难超越Media Temple。 他们的Grid Server平台可能更灵活,但是Container系统使推送应用程序变得轻而易举,同时仍然与您现有的版本控制兼容。
Runner up: WebFaction’s Django and Rails deployment system is incredible, with a little more flexibility than the Media Temple option, and at a more agreeable price point. Definitely worth a look.
亚军:WebFaction的Django和Rails部署系统令人难以置信,它比Media Temple选项更具灵活性,并且价格也较为合理。 绝对值得一看。
PHP Deployment Server
PHP部署服务器
A Small Orange wins this hands down. The cPanel 11 administration panel has more than enough options to keep PHP under control, and the servers are sufficiently powerful for whatever you plan to throw at them.
一个小橘子赢得了这场胜利。 cPanel 11管理面板提供了足够多的选项来控制PHP,并且服务器功能强大,足以应对您打算扔给它们的任何东西。
Runner up: RailsPlayground: just the right amount of power to get your applications up and running, and support for enough non-PHP environments to explore. Just watch out for those file permissions!
亚军:RailsPlayground:适量的功能来启动和运行您的应用程序,并支持足以探索的非PHP环境。 只要注意那些文件权限!
General Web Development Test Bed
通用Web开发测试台
We’ll have to go with WebFaction for this one, with a multitude of options for trying out PHP, Django, and Rails applications with no fuss. A purpose-built architecture gives you the flexibility to try out applications to your heart’s content.
我们必须使用WebFaction,并且有很多选择可以轻松试用PHP,Django和Rails应用程序。 专门构建的体系结构使您可以灵活地试用适合您内心需求的应用程序。
Runner up: A Small Orange. With plenty of flexibility, relatively up-to-date libraries and applications, and a stable environment, you’ll be able to avoid deployment hassles.
亚军:小橙子。 凭借足够的灵活性,相对最新的库和应用程序以及稳定的环境,您将能够避免部署麻烦。
翻译自: https://www.sitepoint.com/developer-friendly-web-hosts/