nginx.confとは?初心者にもわかる使い方と基本設定ガイド共起語・同意語・対義語も併せて解説!

  • このエントリーをはてなブックマークに追加
nginx.confとは?初心者にもわかる使い方と基本設定ガイド共起語・同意語・対義語も併せて解説!
この記事を書いた人

高岡智則

年齢:33歳 性別:男性 職業:Webディレクター(兼ライティング・SNS運用担当) 居住地:東京都杉並区・永福町の1LDKマンション 出身地:神奈川県川崎市 身長:176cm 体系:細身〜普通(最近ちょっとお腹が気になる) 血液型:A型 誕生日:1992年11月20日 最終学歴:明治大学・情報コミュニケーション学部卒 通勤:京王井の頭線で渋谷まで(通勤20分) 家族構成:一人暮らし、実家には両親と2歳下の妹 恋愛事情:独身。彼女は2年いない(本人は「忙しいだけ」と言い張る)


はじめに

この文章では nginx.conf とは何か、どんな役割があるのか、初心者でもわかる基本設定のポイントを紹介します。ウェブサーバー nginx を使うとき、設定はこの nginx.conf というファイルに集まっています。まずは全体像をつかみましょう。

nginx.confとは何か

nginx.conf は nginx の“設定ファイル”のことです。ここにはどう動くかを決めるルールが書かれており、サーバーを起動する前に読み込まれます。英語で言うと config、略して config ファイルです。インターネット上の多くのサーバーはこのファイルを使って挙動を決めます。

基本的な役割

主な役割は三つです。 1 サーバーの起動時に読み込まれ、 2 ネットワークのリクエストをどう処理するかを決め、 3 ログの出力場所やセキュリティの設定を指定します。

構成の基本

nginx.conf の中は大きなブロックで分かれています。代表的なのは worker_processeseventshttp ブロック、server ブロック、location ディレクティブです。ここで覚えるべき要点を順番に見てみましょう。

主なディレクティブ

以下は初心者にも覚えやすい基本ディレクティブです。

worker_processes は CPU のコア数に合わせて設定します。1 台のサーバーで複数の作業を同時に動かす基本となる指示です。
eventsロックでは同時接続数の上限を決めます。無理に多く設定すると動作が不安定になります。
http ブロックはウェブの処理全体の土台です。ここには serverlocation などが入ります。
server ブロックは仮想的な「サーバー」を作る区分です。ここに server_namelisten の設定を置きます。
location ディレクティブはリクエストのパスに応じて処理を切り替えます。静的ファイルを返したり、別のアプリに転送したりします。

実例と読み込み順

実務での基本的な読み込み順は次のとおりです。nginx.conf の最上位にある設定が最初に読み込まれ、次に include という指示で他のファイルを読み込み、最終的に各ブロックの指示が適用されます。include は「他の設定ファイルを取り込む」便利な方法です。

安全で実用的な設定のコツ

不要な情報を公開しない こと、更新後にテストを行う こと、そして設定ファイルをバックアップする癖をつけることが大切です。テストには nginx -t というコマンドを使い、構文エラーがないかを確認します。エラーがあれば、どの行に問題があるかが表示されます。

基本ディレクティブ一覧表

ディレクティブ説明
worker_processesCPU のコア数に合わせて設定。処理の並列性を決める。
include他の設定ファイルを読み込む。
httpHTTP 全体の設定ブロック。
server仮想サーバーを定義するブロック。
locationリクエストのパスに応じた処理を選ぶ。

まとめ

nginx.conf は nginx の心臓部です。正しく理解して使えば、静的ファイルの高速提供や安全なリクエスト処理が実現します。初心者のうちは、少しずつブロックの役割を覚え、実際に設定をいじってみることが上達への近道です。


nginx.confの同意語

nginx.conf
Nginxの設定を記述するファイル名そのもの。Nginxの動作を決定する設定を格納する主要な設定ファイル。
nginx.confファイル
ファイル名 nginx.conf を指す表現。実際にはこのファイルを指すときに使われる言い回し
Nginx設定ファイル
Nginxの設定を格納・適用するための設定ファイル。
Nginxの設定ファイル
Nginxの動作を決める設定をまとめたファイル(通常 nginx.conf のこと)。
Nginx構成ファイル
Nginxの構成情報を記述するファイル。
Nginx config file
Nginxの設定を記述する英語表記の同義語
Nginx用設定ファイル
Nginxを運用するための設定を記述するファイル。
Nginxの主要設定ファイル
Nginxの動作に直結する設定を格納する主要なファイル。
Nginx設定
Nginxの設定内容全体を指す総称。特定ファイルを指す場合もあるが、設定項目の集合を指すことが多い。
/etc/nginx/nginx.conf
Nginxの設定ファイルが標準的に配置されるパス。ファイル名は nginx.conf。
nginx.confファイルの場所
Nginxの設定ファイルが置かれている場所を指す表現(具体的には通常 /etc/nginx/nginx.conf)。
Nginx設定ファイル nginx.conf
nginx.conf というファイル名の Nginx の設定ファイルを指す表現。
Nginxの構成ファイル nginx.conf
Nginx の構成情報を格納するファイルとしての表現。

nginx.confの対義語・反対語

httpd.conf
Apache HTTP Server のメイン設定ファイル。NGINX の nginx.conf の対になる、別サーバーの設定ファイルの代表例として挙げられる。
apache.conf
Apache の設定ファイルの別表記。httpd.conf と同様、NGINX の nginx.conf の対比として使われることがある。
web.config
IIS の設定ファイル。Windows 環境で動くウェブサーバーの設定ファイルで、NGINX の nginx.conf とは異なる実装の対義語として考えられる。
lighttpd.conf
Lighttpd の設定ファイル。軽量ウェブサーバーの設定ファイルで、NGINX と対比して使われることがある。
runtime.conf
実行時に適用される動的設定を想定したファイル。nginx.conf が静的な設定ファイルとして扱われるイメージの対義語として挙げられる。
dynamic_config.json
動的に変更可能な設定情報を格納する JSON 形式の設定ファイル。静的な nginx.conf に対する動的設定の対義語イメージとして使われる。

nginx.confの共起語

nginx
ウェブサーバ・リバースプロキシとして広く使われるソフトウェアの名称。nginx.confはこのソフトの設定ファイルです。
http_block
nginx.conf の中で HTTP関連の設定をまとめる大枠のブロック。
events_block
イベント処理の設定ブロック。worker_connections や worker_processes などを置く区域。
server_block
仮想ホストを定義するブロック。listen, server_name, root などを設定します。
location_block
URLパスごとの挙動を定義するブロック。静的ファイル配信、リダイレクト、プロキシ設定を記述します。
listen
待ち受けるポートとアドレスを指定します。複数指定して使います。
server_name
仮想ホストのドメイン名やホスト名を設定します。ワイルドカードにも対応。
root
ドキュメントルート(公開ディレクトリ)を指定します。
index
デフォルトで返すファイル名を設定します(例: index.html)。
include
別ファイルの設定を読み込む指示。設定を分割して管理します。
proxy_pass
バックエンドのサーバへリクエストを転送するディレクティブ。リバースプロキシの中心。
upstream
バックエンドのサーバグループを定義します。負荷分散の対象として使います。
gzip
レスポンスの圧縮を有効化します。
ssl_certificate
SSL/TLS証明書のファイルパスを指定します。HTTPS の基盤。
ssl_certificate_key
SSL/TLS証明書の秘密鍵ファイルのパスを指定します。
ssl_protocols
許可する TLS/SSL プロトコルを列挙します。セキュリティの観点で設定します。
access_log
アクセスログの出力先とフォーマットを設定します。
error_log
エラーログの出力先とレベルを設定します。
client_max_body_size
クライアントから送られるリクエストボディの最大サイズを制限します。
proxy_set_header
リクエストヘッダを調整してバックエンドへ渡します。
proxy_redirect
バックエンドからのリダイレクトをクライアントにどう見せるかを制御します。
try_files
ファイルの存在を確認して、見つからない場合は他のURIに転送します。
alias
root と似ていますが、マッピングの際に別のディレクトリを指す指定です。
rewrite
URLの書換えを行います。リダイレクトや内部ルーティングに使います。
return
特定のURIへ即座に遷移させる短い指示です。
keepalive_timeout
クライアント接続を保持する時間を設定します。
worker_processes
起動時に動作するワーカープロセスの数を設定します。
worker_connections
各ワーカープロセスが同時に処理できる接続数の上限を設定します。
sendfile
ファイルを高速に送信するための最適化。
default_server
listen のデフォルト仮想ホストを指定します。
charset
レスポンスの文字エンコーディングを設定します。
add_header
レスポンスに追加の HTTP ヘッダを付与します。
expires
キャッシュの有効期限を設定してブラウザキャッシュを制御します。
http2
HTTP/2 プロトコルを有効化します。ページ読み込みの高速化につながります。

nginx.confの関連用語

nginx.conf
Nginx の設定の中心となるファイル。全体の動作を決定し、他の設定を include して組み立てられる。
nginx
Nginx は高性能なウェブサーバ・リバースプロキシ。静的ファイル配信や負荷分散に使われる。
httpブロック
http{ ... } の中に HTTP 全般の設定を集約するブロック。ログやモジュール設定がここに来る。
serverブロック
仮想ホストを定義する単位。複数のサーバブロックで同じ nginx が複数ドメインをさばく。
locationブロック
URL パスに対する処理を定義。静的ファイル、リダイレクト、プロキシなどを個別に設定。
eventsブロック
接続の処理方法を決めるブロック。ワーカープロセスの挙動や同時接続の設定をここで行う。
includeディレクティブ
別の設定ファイルを読み込み、現在の設定に統合する。
worker_processes
実行するワーカープロセスの数。CPUコア数と相談して設定する。
worker_connections
1つのワーカープロセスが処理できる同時接続数の上限。
pid
Nginx のメインプロセスIDを保存するファイル。
error_log
エラーログの出力先とログレベルを設定。
access_log
アクセスログの出力先と形式を設定。
log_format
ログの表示形式を定義。重要情報の取り出しを容易にする。
proxy_pass
リクエストを上流のサーバへ転送する指示。リバースプロキシの基本。
fastcgi_pass
FastCGI サーバへリクエストを渡す設定。PHP-FPM などで使う。
upstream
ロードバランシング用のサーバグループを定義。
listen
待ち受けるポートや IP アドレスを指定。
server_name
仮想ホストのドメイン名を定義。複数名を指定可能。
root
静的ファイルの根ディレクトリを指定。
index
デフォルトのインデックスファイル名を設定。
try_files
ファイルの存在を順に試して処理を決定するルールを定義。
rewrite
URL の書き換えルールを定義。
return
即時のレスポンスやリダイレクトを返す。
ssl_certificate
SSL/TLS 証明書のファイルパスを指定。
ssl_certificate_key
証明書の秘密鍵ファイルのパスを指定。
ssl_protocols
許可する TLS バージョンを指定(例: TLSv1.2, TLSv1.3)。
ssl_ciphers
使用する暗号スイートの組み合わせを設定。
ssl_session_cache
SSL セッションのキャッシュを設定。
ssl_session_timeout
SSL セッションの有効時間を設定。
ssl_stapling
OCSP stapling を有効化して検証を高速化。
ssl_trusted_certificate
クライアント証明書検証に使用する CA を指定。
gzip
レスポンスを gzip 圧縮して送信する。
gzip_types
圧縮対象とする MIME タイプを指定。
mime.types
拡張子と MIME タイプの対応を記述したファイルを読み込む。
types_hash_max_size
MIME タイプハッシュの最大サイズを設定。
types_hash_bucket_size
MIME タイプハッシュのバケットサイズを設定。
client_max_body_size
クライアントから受け取るリクエストボディの最大サイズを制限。
client_body_timeout
クライアントのリクエストボディ受信タイムアウト
keepalive_timeout
アイドル状態の接続を維持する時間を設定。
sendfile
sendfile の使用を有効/無効にする。
tcp_nopush
大きなレスポンスを一括送信する最適化を有効化。
tcp_nodelay
Nagle アルゴリズムを抑制して低遅延化を図る。
add_header
レスポンスヘッダを追加する。
expires
キャッシュの有効期限をヘッダで指示。
limit_req_zone
レート制限の定義(ゾーン)を作る。
limit_req
実際のリクエストのレートを制限。
limit_conn_zone
同時接続数の制限ゾーンを定義。
limit_conn
同時接続数を制限する。
auth_basic
基本認証を設定。
auth_basic_user_file
認証情報を格納するファイルを指定。
map
条件に応じて値を変換するマッピングを作成。
proxy_set_header
上流へ渡すリクエストヘッダを設定。
proxy_http_version
Upstream へ送る HTTP バージョンを指定。
proxy_connect_timeout
Upstream への接続タイムアウト。
proxy_read_timeout
Upstream からの応答の読み取りタイムアウト。
proxy_redirect
Upstream からのリダイレクトをクライアント向けに調整。
proxy_pass_request_headers
Upstream にリクエストヘッダを送るかどうか。
proxy_cookie_path
Proxy 経由の Cookie のパス設定を変更。
resolver
DNS 解決に使うネームサーバを指定。
resolver_timeout
DNS 解決のタイムアウトを設定。
server_tokens
Nginx のバージョン表示の有無を制御。
error_page
エラーページをカスタム表示する設定。
default_type
デフォルトの MIME タイプを指定。
alias
location で別ディレクトリへマッピングする。
real_ip_header
クライアントの実 IP を取得するヘッダを指定。
set_real_ip_from
信頼するリバースプロキシの IP アドレスを列挙。
ssi
Server Side Includes の有効化。
ssl_prefer_server_ciphers
サーバが推奨する暗号スイートを優先。
ssl_session_tickets
SSL セッションチケットの使用を管理。
client_header_buffer_size
クライアントヘッダのバッファサイズを指定。
large_client_header_buffers
大きなヘッダを扱うためのバッファ数とサイズを設定。
server_name_in_redirect
リダイレクト時に元のサーバ名を使用するかを指定。

nginx.confのおすすめ参考サイト


インターネット・コンピュータの人気記事

awstatsとは?初心者でもわかる使い方と基本解説共起語・同意語・対義語も併せて解説!
14220viws
bing・とは?初心者のための基本ガイド:検索エンジンの仕組みと使い方共起語・同意語・対義語も併せて解説!
2367viws
着信転送とは?初心者向けガイドで分かる使い方と設定のコツ共起語・同意語・対義語も併せて解説!
1047viws
com端子・とは?初心者にも分かる基礎ガイド|シリアルポートの使い方と歴史を解説共起語・同意語・対義語も併せて解説!
892viws
充電アダプターとは何かを徹底解説|初心者でも分かる基本と選び方のコツ共起語・同意語・対義語も併せて解説!
876viws
リマインドメールとは?初心者にもわかる基本ガイドと使い方のコツ共起語・同意語・対義語も併せて解説!
752viws
7zファイル・とは?初心者でもわかる使い方と特徴を解説共起語・同意語・対義語も併せて解説!
695viws
pinロックとは?初心者が知っておくべき基本と使い方ガイド共起語・同意語・対義語も併せて解説!
695viws
差し込み印刷・とは?初心者でもすぐわかる使い方と仕組みガイド共起語・同意語・対義語も併せて解説!
692viws
16進数カラーコード・とは?初心者でもつまずかない基礎と使い方ガイド共起語・同意語・対義語も併せて解説!
644viws
none とは?初心者にもやさしく解説する意味と使い方ガイド共起語・同意語・対義語も併せて解説!
587viws
全角文字とは?初心者向け解説|全角と半角の違いをやさしく学ぶ共起語・同意語・対義語も併せて解説!
579viws
asp・とは?初心者向けに徹底解説する基本と使い方ガイド共起語・同意語・対義語も併せて解説!
542viws
ローカルポート・とは?初心者にも分かる基本と使い方ガイド共起語・同意語・対義語も併せて解説!
532viws
ワンタイムコード・とは?初心者でも分かる基本と使い方ガイド共起語・同意語・対義語も併せて解説!
491viws
csvダウンロードとは?初心者が今すぐ使える基本ガイド共起語・同意語・対義語も併せて解説!
462viws
select句・とは?初心者でも分かるSQLの基本と使い方共起語・同意語・対義語も併せて解説!
382viws
xlsmとは?初心者でも分かるExcelのマクロ付きファイルの基本共起語・同意語・対義語も併せて解説!
382viws
wi-fiとは?初心者向けにわかりやすく解説する基礎ガイド共起語・同意語・対義語も併せて解説!
374viws
sha256とは?初心者が知るべき暗号ハッシュの基礎と使い道共起語・同意語・対義語も併せて解説!
364viws

新着記事

インターネット・コンピュータの関連記事