12 ポイント 投稿者 GN⁺ 2023-09-11 | 3件のコメント | WhatsAppで共有
  • リバースプロキシ、静的アセット配信、Webアプリ実行などに使用可能
  • 多様な言語のアプリケーションコードを実行可能: Go, Java, Node.js, Perl, PHP, Python, Ruby, WebAssembly
  • 最新のアプリケーションスタックの複数レイヤーを、性能・レイテンシ・拡張性に焦点を当てて単一のソリューションに集約
  • 複雑さに関係なくあらゆるWebアーキテクチャをサポートするよう設計されており、大規模企業から個人ホームページまで対応
  • 本番環境レベルの負荷でも安定したスケーリングをサポート
  • RESTful JSON APIを通じて、停止なしで設定を動的に更新可能(OpenAPI仕様を提供)
  • NGINX Unitのアーキテクチャは非同期・マルチスレッドで、セキュリティと堅牢性を確保しつつ現代のコンピューティングプラットフォームの活用を最大化するため、複数のプロセスで構成
  • macOS、Docker、Amazon Linux、Fedora、RedHat、Debian、Ubuntu向けの迅速なインストールオプションを提供

3件のコメント

 
GN⁺ 2023-09-11
Hacker Newsの意見
  • PHPと組み合わせて使用した場合、Nginx UnitがNginxとphp-fpmの組み合わせを上回るという報告。
  • Docker環境でNginx Unit経由でPHPを実行すると、http用とfpm用の別個のコンテナが不要になり、Apacheのmod_phpに近くなる。
  • Nginx Unitは、バイナリコンパイル言語、Go、JavaScript (Node.js)、Java、Perl、PHP、Python、Ruby、WebAssemblyを含むさまざまな言語をサポート。
  • 一部のユーザーは、API経由の設定が強調されている点に疑問を呈し、予測可能な初期状態のためにファイル経由でアプリサーバーを設定することを好む。
  • Nginx Unitはスタックからphp-fpmを取り除けるようにし、これはPHPアプリをコンテナに入れる際に有益。
  • ユーザーは、複雑なPHP LaravelアプリをNginx Unitでテストした際に、かなりの速度向上を報告している。
  • Nginx Unitは、別個のDockerコンテナを必要とせず、それぞれ異なる言語ランタイムやバージョンを使う複数のアプリを実行できるようにする。
  • 一部のユーザーは、NginxがNginx UnitがNginxとどう違うのか、そしてなぜ別物である必要があるのかを説明するページを提供すべきだと提案。
  • Nginx Unitの構成インターフェースはJSONに大きく依存しており、一部のユーザーはこれを煩雑だと感じている。
  • 「Universal」というラベルにもかかわらず、Nginx UnitはC++、Rust、ASP.NETをサポートしていない一方で、Perlはサポートしている。
  • 一部のユーザーは依然として、Nginx Unitが標準のNginxよりどのような利点を持つのか、そしてcurlによるJSON制御や組み込み言語サポートについて疑問を呈している。
  • Nginx Unitには自動TLS証明書機能は含まれておらず、これは依然としてCertbotで手動対応する必要がある。
 
xguru 2023-09-11
  • PHPと組み合わせて使う場合、Nginx Unit は Nginx と php-fpm の組み合わせを上回る
  • Docker 環境で Nginx Unit を通じて PHP を実行すると、http と fpm のための別個のコンテナが不要になり、Apache の mod_php に近くなる

この2点は興味深いですね。

 
galadbran 2023-09-11

この方式は、ジョーカーコンテナで推奨される「コンテナごとに1つのサービス」という考え方にもより合っていたので試してみたことがあるのですが、1つのアプリ内で Laravel のようなルーティング方式のアプリと単純な PHP ファイル配信を一緒に扱えないという制約があり、断念したことがあります。 基本的に、学習曲線が急だと感じた面もありました。