# 60.4.1 AWS Elastic Beanstalk

就像在官方的[Elastic Beanstalk Java指南](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/create_deploy_Java.html)里描述的那样，有两种主要的方式来部署Java应用。你可以使用“Tomcat平台”或者“Java SE平台”。

**使用Tomcat平台**

这个选项适用于产生war文件的Spring Boot工程。不需要任何特殊的配置，按照官方的指南一步步来就好。

**使用Java SE平台**

这个选项适用于产生jar文件并运行一个内嵌的网络容器的Spring Boot工程。Elastic Beanstalk环境在80端口上运行一个nginx实例，来代理运行在5000端口上的实际的应用。在你的`application.properties`文件中加入以下内容，来进行配置：

```
server.port=5000
```

**注** 默认地，Elastic Beanstalk上传源码并在AWS进行编译。为了上传二进制文件作为替代，在你的`.elasticbeanstalk/config.yml`文件中加入以下内容：

```
deploy:
    artifact: target/demo-0.0.1-SNAPSHOT.jar
```

**注** 默认地，Elastic Beanstalk环境负载均衡。负载均衡器会优先考虑成本，为了避免这个，按照[亚马逊文档](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/environments-create-wizard.html#environments-create-wizard-capacity)里描述的那样，设置环境类型为“单个实例”。单个实例环境可以使用CLI或者以下命令进行创建：

```
eb create -s
```
