LoginSignup
93
116

More than 5 years have passed since last update.

nginxについてまとめ(導入編)

Last updated at Posted at 2016-09-05

概要

  • nginx(エンジンエックス) = Apacheなどと同様のWebサーバ
  • フリーかつオープンソース(BSD。ただし企業主導で開発している)
  • 実装はCで、マルチプラットフォーム対応
  • C10Kが問題視された頃から、高速処理できるサーバとして着目された

特徴

フル機能のHTTPサーバ

  • ロギング, 仮想サーバ, SSL, rewrite, アクセスコントロール, KeepAlive, HTTP/2などはデフォルトで使える
  • Apacheと同様に、モジュールにより拡張可能

イベント駆動方式

  • 単一のプロセスがリクエストをどんどこ捌いていくイメージ
  • Apacheのように、リクエストに対してプロセスあるいはスレッドの割当が不要なので高速、省メモリ
  • ただしメモリ空間は全リクエスト共有になるため、それに関連してアプリケーションサーバとしての利用に制限がある
  • シングルプロセスなので、ひとつの処理に時間がかかると他のレスポンスに影響する

リバースプロキシ(キャッシュサーバ)として利用可能

  • SSLアクセラレータ、ロードバランサとしても動作する
  • SMTPなどHTTP以外のプロトコルのロードバランスも可能

アプリケーションサーバとしては動作しない

  • Webアプリをnginxが直接動かすことはできない
  • その場合は別途Appサーバを別途用意し、nginxはそのリバースプロキシとして振舞う
  • AppサーバとnginxはFastCGIやPassengerで接続される

その他

  • nginx-biuldという専用のビルドツールがあり、依存性解決やバージョン管理が容易
  • 設定変更時に再起動不要

導入方法

インストール

パッケージマネージャでインストールできる

OSX
$ brew install nginx
RH系Linux
$ sudo yum install nginx

基本コマンド

# 起動
$ nginx

# 停止
$ nginx -s stop

# 設定の再読み込み
$ nginx -s reload

# 設定ファイルのテスト
$ nginx -t

設定

  • brewでOSXにインストールした場合、設定ファイルは/usr/local/etc/nginx/にあった
  • 設定ファイルは復数あるが、基本的にはnginx.confをいじればよさそう

    file desc
    nginx.conf Nginx全般の設定
    mime.types MIMEタイプと拡張子の関連
    fastcgi_params FastCGI設定
    scgi_params SCGI設定
    uwsgi_params uWSGI設定
  • 設定ファイルの基本構文は簡単そう

    • コメントは#
    • ディレクティブは ディレクティブ名 { ... }
    • 各プロパティは プロパティ 値 ;

参考

概要/比較

導入/利用方法

93
116
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
93
116