为什么要将 Nginx 放在 Rails 的前面?
补充(2023.09.13)
在X上,这篇文章被引用并引发了许多讨论。
其中许多讨论指出,“在当今可以使用ALB等环境的情况下,Nginx容器已经不再必要”的观点居多。
接下来,希望您能进入正文。我会贴出一些点赞较多的帖子。
如果您想要快速访问本文,请点击这里。
从这里开始正文
之前,团队内发生了如下对话。
直接从ALB将流量传输到Rails应用服务器,而不是在容器中运行Nginx,不也可以吗?
听起来像那样的一个故事。在那时,我无法立即通过回复提供理由,所以进行了调查。
-
- puma や Unicorn はあくまでAppサーバなのでユーザ直アクセス用途として設計されていない
バッファリング処理が弱い
バッファリング処理(処理速度や処理にかかる時間の違いを調整すること)
nginxから静的ファイルを配信するような構成も後からできる
App側で静的ファイルの配布すると遅いが、CloudFrontを持ち出すまでもないような構成の場合など
本番環境では様々なアクセスを想定して nginx を前段において裁くことを想定すべき
Webサーバのアクセスログは解析とかする際に都合が良い
有很多理由。虽然在ALB或WAF上也可以预先裁判…
以下是本文参考的资料。
-
- EC2にRuby on Rails製のアプリケーションをデプロイする際におけるnginx等のWebサーバの必要性がわかりません
-
- 【Rails】Webサーバー「Unicorn」の基本情報と実装方法
-
- Mac1台にnginxでWebサーバとPumaでアプリサーバを立てる
-
- Rails アプリケーションで unicorn を nginx と共に使わなければならない理由
- なぜrailsの本番環境ではUnicorn,Nginxを使うのか? ~ Rack,Unicorn,Nginxの連携について ~【Ruby On Railsでwebサービス運営】