使用 Procfile 配置应用程序进程 - AWS Elastic Beanstalk
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

使用 Procfile 配置应用程序进程

要指定启动 Ruby 应用程序的命令,请在源包的根目录中包含一个名为 Procfile 的文件。

注意

Elastic Beanstalk 在 Amazon Linux AMI Ruby 平台分支(先前的 Amazon Linux 2)上不支持此功能。

有关编写和使用 Procfile 的详细信息,请展开扩展 Elastic Beanstalk Linux 平台中的 Buildfile 和 Procfile 部分 。

如果您不提供 Procfile,则 Elastic Beanstalk 会生成以下默认文件,该文件假定您使用的是预安装的 Puma 应用程序服务器。

web: puma -C /opt/elasticbeanstalk/config/private/pumaconf.rb

如果您想使用自己提供的 Puma 服务器,则可以使用 Gemfile 进行安装。以下示例 Procfile 演示了如何启动它。

例 Procfile

web: bundle exec puma -C /opt/elasticbeanstalk/config/private/pumaconf.rb

如果要使用 Passenger 应用程序服务器,请使用以下示例文件配置 Ruby 环境,以安装和使用 Passenger。

  1. 使用此示例文件安装 Passenger。

    例 Gemfile

    source 'https://rubygems.org' gem 'passenger'
  2. 使用此示例文件指示 Elastic Beanstalk 启动 Passenger。

    例 Procfile

    web: bundle exec passenger start /var/app/current --socket /var/run/puma/my_app.sock
注意

您无需在 nginx 代理服务器的配置中更改任何内容即可使用 Passenger。要使用其他应用程序服务器,您可能需要自定义 nginx 配置以将请求正确转发到您的应用程序。