我对使用 Clojure 和 Compojure 构建网站非常感兴趣,如下所示:
http://briancarper.net/blog/deploying-clojure-websites
但是,由于我对 Java 环境和 Java 文化的经验有限,我不确定在购买 Web 托管服务时从哪里开始。
我是否只需要找到一个可以让我获得完全 root 访问权限并拥有 JDK/JVM 的服务?或者还有其他要求吗?
我对使用 Clojure 和 Compojure 构建网站非常感兴趣,如下所示:
http://briancarper.net/blog/deploying-clojure-websites
但是,由于我对 Java 环境和 Java 文化的经验有限,我不确定在购买 Web 托管服务时从哪里开始。
我是否只需要找到一个可以让我获得完全 root 访问权限并拥有 JDK/JVM 的服务?或者还有其他要求吗?
我使用 Linode 540。任何 Linux VPS 都可以正常工作。您可以自己安装 JVM 和其他任何您需要的东西。根据您运行的站点类型,您应该尝试获得大量 RAM,因为 JVM 可能需要大量 RAM。
我可能会选择 Google AppEngine(好吧,事实上我计划迟早会这样做)。
以下是一些帮助您入门的阅读材料:
Heroku 现在做 clojure 托管:https ://gist.github.com/1001206 - 它是全新的,所以不知道它有多可靠,但可能是一个很好的起点。
您只需要 root 访问权限 + 一个 JVM。一旦你有了它,使用 Compojure(及其嵌入式 Jetty)就像在你的桌面上一样。
我推荐 Rackspace Cloud ( http://www.rackspacecloud.com/ )。它是现收现付的,非常适合测试,并且让服务器全职运行的小型实例每月只需 12 美元左右。此外,它使测试分布式应用程序变得非常容易。他们有一个很棒的管理控制台和 API。(除了作为一个满意的客户外,我与 Rackspace 没有任何关系)。
如果您想使用更健壮/主流的 Java 服务器而不是 Jetty,您可以将应用程序的 WAR 包部署到 Tomcat、Glassfish、Weblogic 等。安装和配置这些超出了这个问题的范围,但是部署 WAR对他们来说,这是一个简单的、有据可查的程序。
编辑:
正如另一位评论者所提到的,如果您只是想开始使用 Compojure,您可以在本地计算机上轻松完成。在您想要开始公开提供页面之前,无需移动到服务器。
看看那里的众多 VPS 解决方案之一。Slicehost 和 Linode 似乎都很受欢迎。您还可以在 Google App Engine 上托管 Clojure+Compojure 应用程序。
您还可以查看 Amazon 的 Elastic Beanstalk 和 CloudBees。我无法评论其中哪一个最适合 clojure,因为我自己也处于研究阶段。这可能有助于决定使用哪个:
http://www.ibm.com/developerworks/java/library/j-paasshootout/?ca=drs-
更新:这看起来很有趣(即使这个名字听起来像是你在成人玩具店买的东西): http: //www.jelastic.com/
您还应该能够免费开始使用 AWS 免费使用套餐和免费的 EC2 微型实例http://aws.amazon.com/free/