nginx/nginx は、NGINX の公式オープンソース リポジトリです。 NGINX は、多くの運用、保守、バックエンド開発にとって新しいプロジェクトではありませんが、長期にわたってトレンドに表示されるのは通常のことです。NGINX は、依然として Web サーバー、リバース プロキシ、ロード バランシング、およびキャッシュ レイヤのインフラストラクチャです。
Web サイト、API、静的リソース、Docker サービス、またはイントラネット アプリケーションをデプロイしたことがある場合は、おそらく NGINX に遭遇したことがあるでしょう。
主に行うこと
NGINX の一般的な用途は次のとおりです。
- 静的ファイル サービス。
- HTTP/HTTPS リバースプロキシ。
- 負荷分散。
- TLS 終端;
- コンテンツのキャッシュ。
- HTTP/2、HTTP/3、QUIC;
- TCP/UDP プロキシ。
- メールエージェント;
- ゲートウェイ層の電流制限、圧縮、およびヘッダー処理。
その利点は、成熟度、安定性、優れたパフォーマンス、そして幅広いエコロジーです。欠点は、強力な構成機能により、特に多層プロキシ、パスの書き換え、キャッシュ ルールなど、カオスな記述が容易になることを意味します。
ソース コードやウェアハウスの閲覧に適しているのは誰ですか?
一般ユーザーは必ずしもソースコードを読む必要はありませんが、公式リポジトリは次のような場合に適しています。
- NGINX 開発の進捗状況を知りたい;
- HTTP/3、QUIC、TLS 関連機能を追跡します。
- モジュールの動作のトラブルシューティング。
- 高性能 C ネットワーク サーバーの研究。
- セキュリティとバージョンの監査を実施します。
- 特定の構成動作が実装に準拠しているかどうかを確認する必要があります。
日々のデプロイメントでは、GitHub マスターだけに焦点を当てるのではなく、公式ドキュメントやリリースパッケージの手順を優先することをお勧めします。
使用上の提案
実際に NGINX を使用する場合、いくつかの習慣が重要です。
- 構成は明確に分割されています。1 つのファイルを一番下に詰め込まないでください。
- HTTPS、HSTS、転送ヘッダー、および実際の IP が正しく設定されている必要があります。
- リバース プロキシのタイムアウトとアップロード サイズは、ビジネスに応じて調整する必要があります。
- 構成を変更した後の最初の
nginx -t。 - ログポジショニング 4xx / 5xx と連携します。
- 管理バックエンドを公衆ネットワークにむやみに公開しないでください。
まとめ
NGINX は、派手ではありませんが重要な種類のインフラストラクチャです。 「Web サイトを実行できる」だけでなく、入口トラフィック管理、プロキシ、セキュリティ、パフォーマンスの最適化といった作業の大部分も引き受けます。
Web サービスのデプロイメントを行っている場合は、NGINX を体系的に学習する価値があります。