gpt4 book ai didi

deployment - 如何将 clojure Web 应用程序部署到 Amazon EC2(AWS Elastic Beanstalk + Leiningen + Compojure + Ring + Tomcat)

转载 作者:行者123 更新时间:2023-12-04 10:25:51 25 4
gpt4 key购买 nike

如题,
我的 IDE 是 intellij idea 12.1.4 ,
我需要什么工具包或插件才能
将 clojure Web 应用程序部署到 Amazon EC2?

是否有任何链接或引用或分步解决方案?
谢谢你

最佳答案

如果您只是在没有其他自定义基础架构的情况下部署一个 war 文件,那么直接使用 EC2 就有点过分了,而弹性 beanstalk 将更轻松地满足您的需求。如果您正在发展更大的东西,并且想要一键部署,那么托盘是一个很好的工具。

Pallet 有很多东西,它是一个很棒的库,用于编写用于完成此类事情(以及更多)的令人惊讶的小程序。花一些时间来理解 'node' 'group' 'converge' 等的托盘概念,并给自己足够的耐心。一旦你开始使用托盘,感觉就像魔术一样。

开始的地方是托盘入门指南。浏览 hello world 示例,该示例将确保您的 aws 帐户已设置并且 key 在需要的位置。然后,您可以编写一些 clojure 代码来创建一个实例,其中包含最新版本的 webapp。

你会需要:

  • 托盘 0.8+
  • 托盘 java crate
  • 安装 java 并复制 war 文件的组规范。
  • Pallet lein 插件很好,虽然不是必需的
  • 有足够的耐心来启动和运行。

  • 组规范的粗略轮廓看起来有点像
    (def java-server
    (java/server-spec
    {:vendor :oracle
    :components #{:jdk}
    :version [7]}))

    (def webserver
    (node-spec
    :image {:os-family :ubuntu}
    :hardware {:min-cores 1 :min-ram (* 2 1024)}
    :phases {:configure
    (plan-fn
    (package-manager :update)
    (package "tomcat7")
    (remote-file "/var/lib/tomcat7/webapps/myapp.war"
    :local-file "target/myApp.war"
    :owner "tomcat7"
    :group "tomcat7"
    :mode 755))

    (def web-group
    (group-spec
    "my-websertvers"
    webserver
    :extends [java-server]))

    然后你会调用 converge使用 web-group 创建或更新您的服务器。

    请跳到 freenode 上的#pallet,友好的人们(我自己包括在美国西部 ~10:00 到 ~18:00 之间)渴望提供帮助。

    关于deployment - 如何将 clojure Web 应用程序部署到 Amazon EC2(AWS Elastic Beanstalk + Leiningen + Compojure + Ring + Tomcat),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17028427/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com