LoginSignup
1
1

More than 3 years have passed since last update.

Nginxってなんぞ??(入門編)

Last updated at Posted at 2021-03-12

まず始めに

この記事はNginxについて、自己理解のために簡単に仕組みと使い方をまとめたものです。

Nginx(えんじんえっくす)って??

 ミドルウェアの中のWEBサーバソフトフェアの1つ
 オープンソースソフトウェア(OSS)で、無償で誰でも利用可能
 2004年10月に最初の公開リリースが行われ、10000以上の同時コネクションを処理する際の
 パフォーマンス課題である「C10k問題」への解決策として本ソフトウェアを作成された
 よくApacheと比較されていますが、どちらも設定・追加モジュール次第である程度対応できます。
 Nginxは高速で高負荷に強く、柔軟な設定を行うことができます。
 また大量の動的コンテンツの処理には不向きで、設定情報などはApacheの方が充実しています。

 

Nginxの基本機能

 HTTPサーバーとしての基本的な機能はもちろん、以下のような機能を備えています。
 ・リバースプロキシ(キャッシュ機能あり)
 ・負荷分散(ロードバランサ)
 ・FastCGIサポート(キャッシュ機能あり)
 ・URI Rewrite
 ・WebSockets
 ・静的ファイル・インデックスファイルの処理、自動インデクシング
 ・TLS/SSL

主な特徴的機能の説明をまとめました。 

リバースプロキシ

 特定のサーバへのリクエストが必ず通過するように設置されたプロキシサーバ。
 不特定多数のクライアントに対するアクセス制限や、キャッシュ機能によるサーバの負荷軽減のため用意される。

負荷分散

 コンピュータネットワークにおける技法の一種。
 クライアントとサーバの間に設置し、複数のサーバが分散処理を行う。
 また、故障や保守によりサーバが停止した際にも、サービスを続行させることができる。

FastCGIサポート

 FastCGIとは、Webサーバ上でユーザプログラムを動作させるためのインタフェース仕様の一つ。
 従来のCGIのリクエスト毎に新しいプロセスを作成する代わりに、
 FastCGI は永続的なプロセスを使用して一連のリクエストを処理する。

Nginxのインストール

 nginxの公式サイトからZIPファイルをダウンロード
 nginx.exeをダブルクリック
 ブラウザで http://localhost/ を開いてみる

1.png

上のページが出ればインストール完了です。
 
 sudo nginx -s quit
 で終了します。

linux上でインストールする場合は yum install nginx
 起動:systemctl start nginx
 停止:systemctl start nginx
 

Nginxで設定できること

・アクセス制限
  Basic認証(特定パスへの制限)
  大量リクエスト制限(コネクション数の抑制)
・リクエストの書き換え
  リダイレクト
  エラーページを返す(後続のサーバ・アプリケーションでの特定ページの表示)
・gzip圧縮転送
  圧縮して転送
  あらかじめ圧縮してあるファイルを転送

 その他の項目、書き方は公式ドキュメントや他記事を参照ください。

最後に

Apacheに比べ、細かな設定を行う際の情報が少なく初心者には難しいかもしれませんが
アクセス数の多いサイトやアプリには必須といっていいほど、需要は増えていると思います。
また、ApacheとNginxを組み合わせることで、どちらのメリットを生かした開発を行うことができます。
今後もより深く理解できるように、細かな機能などの学習・紹介ができればと思います。
最後まで読んでいただきありがとうございました。

1
1
0

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
1
1