如何找到运行 Compojure 的网络托管服务

Posted

技术标签:

【中文标题】如何找到运行 Compojure 的网络托管服务【英文标题】:How to find a web hosting service for running Compojure 【发布时间】:2011-01-27 20:09:09 【问题描述】:

我对使用 Clojure 和 Compojure 构建网站非常感兴趣,如下所示:

http://briancarper.net/blog/deploying-clojure-websites

但是,由于我对 Java 环境和 Java 文化的经验有限,我不确定在购买网络托管服务时从哪里开始。

我是否只需要找到一个可以让我获得完全 root 访问权限并拥有 JDK/JVM 的服务?或者还有其他要求吗?

【问题讨论】:

【参考方案1】:

我使用 Linode 540。任何 Linux VPS 都可以正常工作。您可以自己安装 JVM 和其他任何您需要的东西。根据您运行的站点类型,您应该尝试获得大量 RAM,因为 JVM 可能需要大量 RAM。

【讨论】:

【参考方案2】:

我可能会选择 Google AppEngine(嗯,事实上我计划迟早会这样做)。

以下是一些帮助您入门的阅读材料:

Interactive Programming with Clojure, Compojure, Google App Engine and Emacs

Clojure on GAE

Clojure on Google AppEngine

【讨论】:

“交互式编程...”帖子背后的人在他们的 GAE 和 Clojure 应用程序上也有一个非常有趣的演示:hackers-with-attitude.com/2010/02/… 我相信 GAE 的安全模型不允许启动线程,这会杀死相当多的人很少的 Clojure 功能;不过,显然剩下的仍然是一个非常引人注目的软件包。【参考方案3】:

Heroku 现在做 clojure 托管:https://gist.github.com/1001206 - 它是全新的,所以不知道它有多可靠,但可能是一个很好的起点。

【讨论】:

【参考方案4】:

您只需要 root 访问权限 + 一个 JVM。有了这些,使用 Compojure(及其嵌入式 Jetty)就像在您的桌面上一样。

我推荐 Rackspace Cloud (http://www.rackspacecloud.com/)。它是现收现付的,非常适合测试,而让服务器全时运行的小型实例每月只需 12 美元左右。此外,它使测试分布式应用程序变得非常容易。他们有一个很棒的管理控制台和 API。 (除了作为一个满意的客户之外,我与 Rackspace 没有任何关系)。

如果您想使用更强大/主流的 Java 服务器而不是 Jetty,您可以将应用程序的 WAR 包部署到 Tomcat、Glassfish、Weblogic 等。安装和配置这些超出了本问题的范围,但是向他们部署 WAR 是一个简单的、有据可查的过程。

编辑:

正如其他评论者所说,如果您只是想开始使用 Compojure,您可以在本地计算机上轻松完成。在您想开始公开提供页面之前,无需迁移到服务器。

【讨论】:

【参考方案5】:

查看现有的众多 VPS 解决方案之一。 Slicehost 和 Linode 似乎都很受欢迎。您还可以在 Google App Engine 上托管 Clojure+Compojure 应用程序。

【讨论】:

【参考方案6】:

您还可以查看 Amazon 的 Elastic Beanstalk 和 CloudBees。我无法评论其中哪一个最适合 clojure,因为我自己也处于研究阶段。这可能有助于决定使用哪个:

http://www.ibm.com/developerworks/java/library/j-paasshootout/?ca=drs-

更新:这看起来很有趣(即使这个名字听起来像是你会在成人玩具店买到的东西):http://www.jelastic.com/

【讨论】:

【参考方案7】:

您还应该能够免费开始使用 AWS 免费使用套餐和免费的 EC2 微实例 http://aws.amazon.com/free/

【讨论】:

注意:EC2 微型实例的 CPU 周期确实有限。但在开始时是一个不错的选择。

以上是关于如何找到运行 Compojure 的网络托管服务的主要内容,如果未能解决你的问题,请参考以下文章

无需重启 Web 服务器的 Compojure 开发

Compojure 中的 CSS 入门?

iOS协同开发-iOS代码版本控制-GitHub代码托-关东升-专题视频课程

Java Servlet 托管 [关闭]

检测非托管第 2 层交换机的网络映射算法?

使用 ring/compojure 提供静态文件 - 来自战争