このセクションの内容:
nginx と apache の長所と短所
1. Apache に対する nginx の利点:
軽量で、Web サービスとしても機能し、Apache サーバーよりもメモリとリソースの消費が少ない
同時実行防止、nginx は処理中です。リクエストは非同期で非ブロッキングですが、高い同時実行性では、nginx は低リソース、低消費量、高パフォーマンスを維持できます。
モジュールの作成は比較的簡単です。
nginx に対する Apache の利点:
nginx のリライトよりも強力なリライト
動的ページ
モジュールが非常に多く、基本的に考えられるものはすべて見つけることができます
バグが少ないnginxは比較的バグが多い
超安定
2. Web サーバーとして: Apache と比較して、Nginx は使用するリソースが少なく、より多くの同時接続をサポートし、より高い効率を反映するため、仮想ホストプロバイダーの間で特に人気があります。同時接続数が多い場合、Nginx は Apache サーバーに代わる良い選択肢です。Nginx は、米国の仮想ホスト ビジネスの責任者によってよく選ばれるソフトウェア プラットフォームの 1 つです。おかげで、最大 50,000 の同時接続の応答をサポートできます。 Nginx へ 開発モデルとして epoll と kqueue を選択しました。
負荷分散サーバーとして Nginx: Nginx は外部パーティにサービスを提供するために内部で Rails および PHP プログラムを直接サポートするだけでなく、Nginx が書かれた HTTP プロキシ サーバーとして外部サービスもサポートします。 C では、システム リソースのオーバーヘッドと CPU 使用効率の両方の点で、Perlbal よりもはるかに優れています。
Nginx は、インストールが非常に簡単で、構成ファイルが非常に簡潔で (Perl 構文もサポートできます)、必要なものはほとんどありません。バグ: Nginx は起動が非常に簡単で、ほとんどの場合、7 時間 365 日継続して実行でき、数か月間実行しても再起動する必要はありません。また、Nginx の設定を中断することなくソフトウェアのバージョンをアップグレードすることもできます。はシンプルですが、Apache は複雑です
Nginx の静的処理パフォーマンス比は Apache の 3 倍以上です
Apache の PHP サポートは比較的シンプルですが、Nginx は他のバックエンドと併用する必要があります
Apache には Nginx よりも多くのコンポーネントがあります
現在では Nginx が第一の選択肢ですWeb サーバー用
4. 主要な違いは、Apache は同期マルチプロセス モデルであり、1 つの接続が 1 つのプロセスに対応するのに対し、nginx は非同期であり、複数の接続 (10,000 レベル) が 1 つのプロセスに対応できることです。ファイルの保存性が高く、メモリ消費も少ないのは間違いありませんが、豊富な機能を備えた Apache が現在でも主流であるため、nginx がニーズに合っていると判断した場合には、それらを使用する必要があります。 nginx はより経済的な方法になります
apache にはマルチコア処理負荷をサポートしていないという欠点があるため、バックエンドとして nginx を使用することをお勧めします。大規模な Web サイトでは、nginx 6 のクラスター機能を使用することをお勧めします。個人的な使用状況から判断すると、nginx の負荷容量は Apache の負荷容量よりもはるかに高いです。最新のサーバーもnginxを使用しています。さらに、nginx の設定を変更した後、Apache が再起動されると、設定に問題があるかどうかをテストできなくなり、変更するときは非常に注意します。多くのクラスター サイトがあり、フロントエンドの nginx は同時実行性が高く、バックエンドの Apache は適切に連携します。
8. 私の個人的な経験から言えば、nginx は非常に優れた負荷パフォーマンスを備えた非常に優れたフロントエンド サーバーです。Laoben で nginx を開き、Webbench を使用して 10,000 の静的ファイル リクエストをシミュレートするのは簡単です。 Apache は php
などの言語を適切にサポートしています。さらに、Apache は強力なサポート ネットワークを備えており、Nginx は 2 つの主な点で Apache よりも優れています。はリバース プロキシ サーバーです。 2. Nginx は 7 層の負荷分散をサポートしています。もちろん、Nginx は Apache よりも高い同時実行性をサポートしている可能性がありますが、NetCraft
の統計によると、2011 年 4 月時点でも Apache が 62.71% を占めているのに対し、Nginx は 7.35% です。したがって、一般に、成熟したテクノロジーと開発コミュニティは非常に優れたパフォーマンスを備えているため、Aapche は依然としてほとんどの企業にとって最初の選択肢です。
10. Web サーバーの需要によって選択が決まります。ほとんどの場合、静的ファイル処理、PHP-CGI サポート、リバース プロキシ機能、フロントエンド キャッシュ、接続維持など、APACHE よりも nginx の方が優れています。
Apache+PHP (プリフォーク) モードでは、PHP の処理が遅い場合、またはフロントエンドの負荷が高い場合、Apache プロセスの数が急増し、サービス妨害が発生しやすくなります。
11. nginx lua モジュール: Apache は、最も一般的な lua を使用して直接実装できます。
12. nginx の場合、設定ファイルは非常に簡潔に記述されており、通常の設定では多くの作業がシンプルかつ効率的に行われ、フロントエンド応答サーバーとして非常に適しています。
13. Apache は処理ダイナミクスの点で優れており、再書き込みが頻繁に行われる場合は、Apache が最適です。
以上、nginxとapacheのメリット・デメリットを側面も含めて紹介しましたが、PHPチュートリアルに興味のある友人の参考になれば幸いです。