Nginx
エンジニアのためのWebチートシート
Nginxは高性能なWebサーバー、リバースプロキシ、ロードバランサーです。 軽量で高い同時接続処理能力を持ち、静的ファイル配信やAPI Gatewayとして広く使われています。 基本コマンド、サーバーブロック、リバースプロキシ、SSL、セキュリティ設定などをチートシートにまとめました。
基本コマンド
| コマンド | 説明 |
|---|---|
| nginx | Nginxを起動します。 |
| nginx -s stop | ワーカープロセスを即時終了します。 |
| nginx -s reload | 設定ファイルを再読み込みします(ダウンタイムなし)。 |
| nginx -t | 設定ファイルの構文チェックを行います。 |
| nginx -v | Nginxのバージョンとビルド情報を表示します。 |
| nginx -V | 設定ファイルのパスとビルドオプションを表示します。 |
| nginx -s reopen | ログファイルを再オープンします(ログローテーション時に使用)。 |
サーバーブロック
基本的なサーバーブロック
特定のドメインとポートでリクエストを受け付ける設定です。
複数ドメイン対応
1つのサーバーブロックで複数のドメインを処理する設定です。
デフォルトサーバー
一致するserver_nameがない場合に処理するデフォルトサーバーです。
ロケーションブロック
マッチング優先順位
| プレフィックス | 説明 | 優先度 |
|---|---|---|
| = /path | URIが完全に一致した場合にマッチします。最も優先度が高い。 | 1 |
| ^~ /path | プレフィックスマッチ後、正規表現の評価をスキップします。 | 2 |
| ~ regex | 正規表現でマッチします。定義順に評価されます。 | 3 |
| ~* regex | 大文字小文字を区別しない正規表現マッチです。 | 3 |
| /path | 最長一致のプレフィックスがマッチします。最も優先度が低い。 | 4 |
locationの使用例
よく使われるlocationパターンの例です。
リバースプロキシ
基本プロキシ設定
バックエンドサーバーへのリクエスト転送の基本設定です。
プロキシヘッダー
バックエンドにクライアント情報を渡すためのヘッダー設定です。
ロードバランシング
複数のバックエンドサーバーへのトラフィック分散設定です。
SSL / TLS
SSL基本設定
HTTPS通信を有効にする基本的なSSL/TLS設定です。
HTTP → HTTPSリダイレクト
HTTPリクエストをHTTPSに自動リダイレクトする設定です。
静的ファイル & キャッシュ
静的ファイル配信
root / aliasディレクティブによる静的ファイルの配信設定です。
Gzip圧縮
レスポンスのGzip圧縮設定です。帯域幅を削減します。
キャッシュヘッダー
ブラウザキャッシュの制御設定です。
セキュリティ & ヘッダー
セキュリティヘッダー
一般的なセキュリティヘッダーの設定です。
レートリミット
リクエストレートの制限設定です。DDoSやブルートフォース攻撃対策に有効です。
IPアクセス制限
特定のIPアドレスからのアクセスを許可または拒否する設定です。
ログ & デバッグ
ログフォーマット
アクセスログのカスタムフォーマット定義です。
条件付きログ
特定の条件でログを記録またはスキップする設定です。
デバッグのヒント
Nginx設定のデバッグに役立つコマンドとテクニックです。
よく使う設定
SPA (Single Page App)
React/Vue/Angularなどのシングルページアプリケーション向け設定です。
CORS設定
クロスオリジンリソース共有の設定です。
WebSocket対応
WebSocket接続のプロキシ設定です。
引用・参考リンク
Related Cheatsheets
- Docker-Dockerとはコンテナと呼ばれるOSレベルの仮想化環境を提供するソフトウェアです。近年、コンテナ化したアプリケーションのデプロイ、スケーリング、管理を行うためのコンテナオーケストレーションシステムであるKubernetesの採用事例も増え、ますますコンテナ仮想化技術は注目されています。 Dockerコマンドをチートシートにまとめました。
- GCP(Google Cloud Platform)-Google Cloud Platform(GCP)とは、Googleが提供しているクラウドコンピューティングサービスです。Google検索やYouTubeなどのサービスでも利用されています。GCPが提供するCLIツールのコマンドをチートシートにまとめてみました。
- HTTPステータスコード-HTTPステータスコードは、HTTPリクエストに対するサーバーの応答状態を示す3桁の数値コードです。 1xx〜5xxの各カテゴリと、よく使われるステータスコードをチートシートにまとめました。
- Kubernetes-Kubernetes(K8s)は、コンテナ化されたアプリケーションのデプロイ、スケーリング、管理を自動化するためのオーケストレーションシステムです。 kubectlコマンドやYAMLマニフェストの基本をチートシートにまとめました。
- Terraform-Terraformは、HashiCorpが開発したIaC(Infrastructure as Code)ツールです。 HCL(HashiCorp Configuration Language)でインフラをコードとして定義し、マルチクラウド環境を宣言的に管理できます。 CLIコマンド、HCL構文、リソース定義、ステート管理、モジュール、関数などをチートシートにまとめました。
- AWS-AWS(Amazon Web Services)は、世界最大のクラウドプラットフォームです。 コンピューティング、ストレージ、データベース、ネットワーキングなど200以上のサービスを提供しています。 AWS CLIの基本操作、IAM、S3、EC2、Lambda、ECS、RDS、DynamoDB、CloudFormation、CloudWatch、Route 53、SQS/SNSなどをチートシートにまとめました。
Related Goods
WebTerm - Recommended tools
WebTermは、ブラウザでLinuxコマンド・Gitコマンドを安全に実行でき、チュートリアル式で学べるターミナルサンドボックスです。
AIコーディングツールの普及に伴い、CLIの基礎知識を身につける重要性は増しています。実際のターミナルを操作するのに抵抗がある方でも、WebTermはローカル環境を壊す心配がありません。「会員登録不要・無料」で利用でき、学習環境として最適です。

WebTerm
Browser Terminal Sandbox for Learning CLI
開く
All Cheatsheets
エンジニア・プログラマー向けの便利なチートシートを多数まとめています(SP/Tablet/PC対応)
すべてのチートシートを見る


