在 Amazon Elasticbeanstalk 中运行 netty 应用程序
Posted
技术标签:
【中文标题】在 Amazon Elasticbeanstalk 中运行 netty 应用程序【英文标题】:Running netty application in Amazon Elasticbeanstalk 【发布时间】:2013-04-25 05:04:12 【问题描述】:我有一个在端口 44080 上运行并构建为 .jar 文件的常规 netty 应用程序服务器。我想使用弹性 beanstalk 来管理应用程序的生命周期。有没有办法可以使用弹性豆茎部署 jar 或类似的东西?
【问题讨论】:
【参考方案1】:弹性beantalk目前似乎不支持netty。如果您的应用程序也可以在 Tomcat 上运行,您可以这样做 - 使用 Tomcat,您只需在 Web 界面中输入一些基本设置,您将获得一个可以上传 jar 文件的完整工作环境。
如果您需要 netty 作为平台,您可以尝试使用 Amazon OpsWorks。我自己从未使用过它,但我知道您可以在那里创建自己的“环境配置”。您基本上需要创建一些脚本来设置您的服务器并部署您的应用程序,OpsWorks 允许您通过 Web ui 执行这些脚本,并且还提供了 OpsWorks 环境中的自动缩放、故障转移等功能。
【讨论】:
【参考方案2】:使用 Netty 并没有错。事实上,我们的 AWS Elastic Beanstalk 原型之一包含对 Dropwizard 的支持(通过使用 Docker 作为其堆栈),因此不依赖于 Java Web 容器。
$ mvn archetype:generate -Dfilter=elasticbeanstalk-docker-dropwizard
它可能需要一些调整,但总体思路是将所有依赖项打包到一个 zip 文件中并进行部署。另外,请确保您的 Dockerfile EXPOSE 端口为 44080。
【讨论】:
以上是关于在 Amazon Elasticbeanstalk 中运行 netty 应用程序的主要内容,如果未能解决你的问题,请参考以下文章
是否可以在 Amazon elasticbeanstalk 上启动特权 docker 容器?
413 请求实体在 Nginx 和 Amazon ElasticBeanstalk 中太大
在 Amazon Elasticbeanstalk 中运行 netty 应用程序
Amazon ElasticBeanstalk 上的 Ruby on Rails 部署:签名过期错误