Nginx
1. 軽量で C で書かれているため、同じ Web サービスがより多くのメモリを使用し、より少ないメモリを使用します。リソース;
2. 非同時実行性、nginx は開発モデルとして epoll と kqueue を使用し、リクエストの処理は非同期でノンブロッキングであり、負荷容量は Apache よりもはるかに高くなりますが、Apache はブロックします。高い同時実行性では、nginx は低いリソース消費と高いパフォーマンスを維持できますが、Apache は、PHP 処理が遅い場合やフロントエンドの負荷が高い場合にプロセス数が急増し、サービス拒否が発生する傾向があります。 3. nginx は静的ファイルの処理に優れており、静的処理パフォーマンスは Apache の 3 倍以上です;
4. nginx の設計は高度にモジュール化されており、モジュールの作成は比較的簡単です;
5. nginx の設定はシンプルで、通常の設定では多くのことがシンプルになり、設定を変更した後、-t を使用して設定に問題があるかどうかをテストできます。Apache の設定は複雑です。再起動時に構成が間違っていることが判明すると、クラッシュします;
6. nginx は負荷分散サーバーとして機能します。7 層の負荷分散をサポートします;
7. nginx 自体はリバース プロキシ サーバーであり、非常に優れたメール プロキシ サーバーとして使用できます。
8. 起動は非常に簡単で、7 時間 365 日の中断のない操作をほぼ実行でき、数時間実行しても再起動する必要はありません。サービスを中断することなくソフトウェア バージョンをアップグレードできます。
9. コミュニティが活発で、さまざまな高性能モジュールが迅速に作成されます。
apache1. Apache の書き換えは nginx よりも強力です。書き換えが頻繁に行われる場合は、Apache を使用してください。
2. Apache は、非常に多くのモジュールが存在するため、基本的に考えられるものはすべて見つかります;
3. Apache はより成熟していてバグが少ないのに対し、nginx には比較的多くのバグがあります;
4. Apache は非常に安定しています;
5. Apache は PHP のサポートが比較的簡単ですが、nginx は他のバックエンドと併用する必要があります;
6. Apache は動的リクエストの処理に利点がありますが、nginx はこの点では役に立ちません。一般に、動的リクエストは Apache で行う必要があります。nginx は静的および逆方向に適しています。
7. Apache は、豊富な機能、成熟したテクノロジー、開発コミュニティを備え、依然として現在の主流です。
概要この 2 つの主な違いは、Apache は同期マルチプロセス モデルであり、1 つの接続が 1 つのプロセスに対応するのに対し、nginx は非同期で複数の接続であることです。 (万レベル)の工程に対応可能です。
一般的に、パフォーマンスが必要な Web サービスには nginx を使用します。パフォーマンスを必要とせず、安定性のみを求める場合は、Apache を検討してください (例: ssl モジュールなど、後者のさまざまな機能モジュールが前者よりも優れており、設定可能な項目が豊富です)。 epoll (freebsd 上の kqueue) ネットワーク IO モデルは、nginx の高い処理パフォーマンスの根本的な理由ですが、epoll がすべての場合に勝つわけではありません。それ自体が静的サービスを提供する場合、ファイルは数個しかなく、Apache の選択モデルは次のとおりである可能性があります。 epoll よりもパフォーマンスが優れています。もちろん、これはネットワーク IO モデルの原則に基づく単なる仮定であり、実際のアプリケーションは実際にテストする必要があります。
より一般的な解決策は、同時実行に抵抗するためにフロントエンドで nginx を使用し、バックエンドで Apache クラスターを使用することで、より適切に連携することができます。
php 中国語 Web サイト、多数の無料の
apache 入門チュートリアル以上がApache サーバーと ngin サーバーの違いは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。