[Procfile] でアプリケーションプロセスを設定します
Ruby アプリケーションを起動するコマンドを指定するには、出典バンドルのルートに Procfile
というファイルを含めます。
注記
Elastic Beanstalk は、Amazon Linux AMI Ruby プラットフォームブランチ (Amazon Linux 2 以前) でこの特徴をsupport していません。with Puma または with Passenger を含む名前を持つプラットフォームブランチは、Ruby のバージョンにかかわらず Procfile
の前に付けられ、Amazon Linux 2 の特徴を support しません。
Procfile
の記述と使用の詳細については、「Elastic Beanstalk Linux プラットフォームの拡張」の「ビルドファイルと 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 アプリケーションサーバーを使用する場合は、次のサンプルファイルを使用して、Passenger をインストールして使用するよう Ruby 環境を設定します。
-
このサンプルファイルを使用して Passenger をインストールします。
例 Gemfile
source 'https://rubygems.org' gem 'passenger'
-
このサンプルファイルを使用して Passenger を起動するよう Elastic Beanstalk に指示します。
例 [Procfile]
web: bundle exec passenger start /var/app/current --socket /var/run/puma/my_app.sock
注記
Passenger を使用するために nginx プロキシサーバーの設定に変更を加える必要はありません。他のアプリケーションサーバーを使用するには、nginx 設定をカスタマイズして、リクエストをアプリケーションに適切に転送する必要があります。