nginxnginxを使い始める


備考

NGINXは「エンジンx」のように発音され、プロトコルHTTP、HTTPS、SMTP、POP3、IMAPの高性能サーバとして一般的に使用されます。これは、リバースプロキシサーバー、HTTPキャッシュ、または負荷分散として使用できます。

これは、 ここでソースを入手できるオープンソースプロジェクトです

バージョン

バージョンオリジナルリリース日最新バージョン状態発売日
0.5 2006-12-04 0.5.38 レガシー 2009-09-14
0.6 2007年06月14日 0.6.39 レガシー 2009-09-14
0.7 2008-05-19 0.7.69 レガシー 2011年7月19日
0.8 2009-06-02 0.8.55 レガシー 2011年7月19日
1.0 2011-04-12 1.0.15 レガシー 2012-04-12
1.2 2012-04-23 1.2.9 レガシー 2013-05-13
1.4 2013-04-24 1.4.7 レガシー 2014-03-18
1.6 2014-04-24 1.6.3 レガシー 2015-04-07
1.8 2015-04-21 1.8.1 レガシー 2016-01-26
1.9 2015-04-28 1.9.15 レガシー 2016-04-19
1.10 2016-04-26 1.10.3 安定 2016-05-31
1.11 2016年5月24日 1.11.9 メインライン 2016-07-26

インストールとセットアップ

Nginxは、インターネット経由でHTTPリクエストを処理するために使用されるWebサーバーです。

Nginxは、Linux、Windows、およびその他のOSで直接ダウンロードすることができ、ソースからビルドすることもできます。詳細な手順については、 Nginxの公式リファレンスを参照してください。

ubuntu / debian

nginxの安定版は公式レポで入手できます。

sudo apt-get install nginx
 

システムの起動ファイルをインストールして設定しますが、最新のバージョンが必要な場合は、公式のppaファイルを追加する必要があります。

sudo add-apt-repository ppa:nginx/stable
sudo apt-get update
sudo apt-get install nginx
 

最新の安定版がインストールされます。

内部のNginx

Nginxの最大の魅力の1つは、他の一般的なサーバー、特にApacheに比べ、内部的にどのように動作するかの違いです。

サーバーは、複数のクライアントからの要求を処理する必要があるため、ビジー状態のプログラムです。サーバーが1秒あたりの処理に成功すればするほど、要求は高くなります。

Nginxは、非同期IOと呼ばれる同時実行パラダイムで動作します。

従来のサーバーでは、1つのスレッドが1つの要求専用です。つまり、スレッドがリクエストを受け取ると、それは他のリクエストに対して事実上利用できなくなります。しかし、実際には、スレッドは複数の要求を受け入れて同時に処理することで、よりうまくいく可能性があります。非同期IOはこれを可能にするものです。

したがって、Nginxは非同期IOアーキテクチャを使用して、1つのスレッド内で多くの要求を処理できます。

Nginxについてのもう一つの良い点は、比較的リーンなリソースフットプリントです。 Apacheと比較して、Nginxはリソースが重くなく、サーバーをクラウド化するのに適しており、非常に強力ではない傾向があります。

確かにそこに他の非同期IOサーバーがありますが、Nginxはpluginx(別名Nginxモジュール)の中で最もよくサポートされています。

UbuntuのようなDebianとDebianベースのディストリビューションへのNginxのインストール

以下のコマンドを実行してnginxをインストールします。

sudo apt-get install nginx
 

デフォルトでは、Nginxはインストール時に自動的に起動します。デフォルトのNginxランディングページにアクセスして、Webブラウザのサーバーのドメイン名またはパブリックIPアドレスにアクセスして、ソフトウェアが正常に動作していることを確認できます。

最新のバージョンが必要な場合は、公式のppaを追加する必要があります。

sudo add-apt-repository ppa:nginx/stable
sudo apt-get update
sudo apt-get install nginx
 

NGINX設定ファイルをリロードする

rootユーザーとして:

sudo nginx -s reload
 

Ubuntu 14.04の例

sudo service nginx reload
 

Ubuntu 16.04の例

sudo systemctl reload nginx
 

再ロードする前に、configで構文エラーがないか確認することをお勧めします。

sudo nginx -t
 

または

sudo service nginx configtest
 

NGINXを再起動する

rootユーザーとして:

nginx -s restart
 

Ubuntuの例

sudo service nginx restart
 

シャットダウンNGINX

rootユーザーとして実行します。

高速シャットダウン:

nginx -s stop
 

グレースフルシャットダウン:

nginx -s quit
 

nginx.configの変更が有効かどうかをテストする

Ubuntu 14.04の例

sudo nginx -t