skillup

技術ブログ

サーバー・ネットワーク

nginx基本

投稿日:2016年10月14日 更新日:

データベースについて勉強していましたが、実務でnginxを触る機会があったので、これを機に勉強。

参考文献

nginx入門

nginx基礎

  • 必要な情報はkey=>valueに近い、ディレクティブといわれる構文で定義される。
    (例 worker_process 1)
  • includeというディレクティブで他の設定ファイル(多くは子供に相当するファイル)を読み込むことができる
    (例 include sites/*.conf)
  • あるディレクティブの中だけで有効に機能するディレクティブを定義するには下記のような、ディレクティブブロックを使う
    events{
    worker_process:1024;
    }
    ※親のディレクティブは子供に自動適応される。

コアモジュール

nginxの基本的なディレクティブについて

  • worker_process  同時にこなせるプロセス数。CPUのコアごとに増やしていくのが一般的。autoという設定もある。
  • worker_priority ワーカプロセスの優先度を-20から19まで定義する。数字が大きいほど優先度は低い。ディフォルトはなし。-5以下にしないほうがいい。
  • worker_rlimit_nofile ワーカプロセスが同時に使えるファイルの数を定義 10000が一般的。

httpモジュール

httpアクセスを定義するブロックに関して。

  • http 全てのhttpアクセスに共通の要素をここに書いておく
  • server 特定のホスト名(www.example.com)をnginxに認識させ、独自の設定を持たせる
  • location webサイトの特定の位置に適応が可能

設定ファイルサンプル

ディレクティブ説明

  • listen どのポート番号使用時に設定を有効にするかの判定。httpならば80、httpsなら443が一般的
  • server_name 1つ以上のホストを与え、最初に一致したブロックを選択させる。ワイルドカードなども使用できる
  • client_max_body_size クライアント要求本体サイズの上限。この上限を超えると、HTTPエラー413を変えす
  • access_log/error_log アクセスログ・エラーログのパス

location 要求されたURIとマッチングされるパターンを指定して定義できる。正規表現使用可。/だけの場合はすべてに適用される。

-サーバー・ネットワーク
-

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

apacheで複数インスタンスの起動

前回のphpenvがらみの引き続きですが、php5.6と7を共存させ、なおかつWEBアプリで動かす方法を調べたところapacheの複数インスタンスがであれば可能だとのこと。 早速調べなんとかできました …

no image

SQSのキュー登録とworkコマンドに関して

SQSでのキューの登録に関して以前やりましたが、再度扱うことがあったので、調査を。 リンク SQSについて Queueの登録と実際の処理に関して Contents1 キューの登録2 キューの監視 キュ …

no image

firewall復習 ansibleコマンドもかねて

CentOS7ではファイアーウォールの設定をfirewallというコマンドで行います。要はportのブロックですね。 以前下記リンクでもfirewallについて書いたんですが、あまり理解もできていなか …

no image

キャッシュについて(主にmemcachedを中心に)

Webサービスのパフォーマンス向上で目に見えて効果があることの一つがDBへのアクセス回数を減らすことです。 それはSQLを発行する回数を少なくするなど、普段からのプログラムの書き方ももちろん大事なので …

no image

正規表現その2

10/28に書いた正規表現に関しての追記です。 Contents1 覚えておきたいメタ文字2 留意点 覚えておきたいメタ文字 よく出るメタ文字の復習です。 メタ文字 メタ文字の説明 [] いずれかの1 …