Debian8にNginxをインストールする方法
序章
Nginxは、Apache2に代わる人気のあるHTTPサーバーです。 リバースプロキシ、メールサーバー、またはWebサーバーとして使用できます。 2015年7月現在のNetcraft調査によると、Nginxは現在14 % oの市場を保有しており、2007年以降増加傾向にあります。
このガイドでは、Debian8サーバーにNginxをインストールします。
前提条件
このチュートリアルに従うには、次のものが必要です。
- 1つの新しいDebian8.1ドロップレット
- このチュートリアルのステップ2と3に従ってセットアップできるsudo非rootユーザー。
特に明記されていない限り、このチュートリアルのすべてのコマンドは、sudo権限を持つroot以外のユーザーとして実行する必要があります。
ステップ1—Nginxをインストールします
このステップでは、apt-get
と呼ばれる組み込みのパッケージインストーラーを使用します。 管理が大幅に簡素化され、クリーンなインストールが容易になります。
前提条件の一部として、aptパッケージインデックスをapt-get
で更新し、sudo
パッケージをインストールする必要があります。 他のLinuxディストリビューションとは異なり、Debian8にはsudo
がインストールされていません。
Nginxは前述のHTTPサーバーであり、メモリ使用量が少なく、大きな負荷を処理することに重点を置いています。 これをインストールするには、次のコマンドを実行します。
sudo apt-get install nginx
最も人気のある2つのオープンソースWebサーバーであるNginxとApache2の違いについては、この記事を参照してください。
ステップ2—Webサーバーをテストする
このステップでは、Nginxサーバーにアクセスできることをテストします。
Webブラウザーで、http://your_server_ip
にアクセスし、your_server_ip
をサーバーのIPアドレスに置き換えます。 サーバーが稼働していることを確認するデフォルトのNginxページが表示されます。
Webブラウザーにアクセスできない場合でも、コマンドラインからサーバーをテストできます。 別のシステムからテストして、Webサイトが外の世界に表示されることを確認することをお勧めします。 次のコマンドを発行します。
curl your_server_ip
次のHTML出力が表示されます。
出力
<!DOCTYPE html> <html> <head> <title>Welcome to nginx on Debian!</title> <style> body { width: 35em; margin: 0 auto; font-family: Tahoma, Verdana, Arial, sans-serif; } </style> </head> <body> <h1>Welcome to nginx on Debian!</h1> <p>If you see this page, the nginx web server is successfully installed and working on Debian. Further configuration is required.</p> <p>For online documentation and support please refer to <a href="http://nginx.org/">nginx.org</a></p> <p> Please use the <tt>reportbug</tt> tool to report bugs in the nginx package with Debian. However, check <a href="http://bugs.debian.org/cgi-bin/pkgreport.cgi?ordering=normal;archive=0;src=nginx;repeatmerged=0">existing bug reports</a> before reporting a new bug. </p> <p><em>Thank you for using debian and nginx.</em></p> </body> </html>
エラーは次のようになります。 これはではなく表示されるべきです。
出力
curl: (52) Empty reply from server
ステップ3—Nginxプロセスを管理する
Webサーバーが稼働しているので、いくつかの基本的な管理コマンドを確認できます。
Webサーバーを停止するには、次のように入力します。
sudo systemctl stop nginx
停止時にWebサーバーを起動するには、次のように入力します。
sudo systemctl start nginx
サービスを停止してから再開するには、次のように入力します。
sudo systemctl restart nginx
単に構成を変更するだけの場合、Nginxは接続を切断せずにリロードできることがよくあります。 これを行うには、次のコマンドを使用できます。
sudo systemctl reload nginx
次のように入力すると、サーバーが再起動したときにWebサーバーが自動的に再起動することを確認できます。
sudo systemctl enable nginx
この構成が機能することをテストするには、サーバーを再起動します。
sudo shutdown -r now
次に、サーバーが再起動しているので、ログアウトします。
1〜2分後、手順2を繰り返して、Webサーバーが再起動時に起動することをテストできます。
サーバールートと構成
Nginxを介して独自のページまたはアプリケーションの提供を開始する場合は、Nginx構成ファイルとデフォルトのサーバールートディレクトリの場所を知る必要があります。
デフォルトのサーバールート
デフォルトのサーバールートディレクトリは/var/www/html
です。 このディレクトリに配置されたファイルは、Webサーバーで提供されます。 この場所は、/etc/nginx/sites-enabled/default
にあるNginxに同梱されているデフォルトのサーバーブロック構成ファイルで指定されています。
サーバーブロックの構成
/etc/nginx/sites-available
で新しい構成ファイルを作成することにより、Apacheの仮想ホストと呼ばれる追加のサーバーブロックを追加できます。 これらの構成をアクティブにするには、以下を使用して/etc/nginx/sites-enabled
へのシンボリックリンクを作成します。
sudo ln -s /etc/nginx/sites-available/site /etc/nginx/sites-enabled/site
sites-enabled
ディレクトリ内のすべての構成ファイルはNginxによってロードされます。
Nginxグローバル構成
メインのNginx構成ファイルは/etc/nginx/nginx.conf
にあります。 ここで、Nginxデーモンプロセスを実行するユーザーや、Nginxの実行中に生成されるワーカープロセスの数などの設定を変更できます。
結論
Webサーバーがインストールされたので、提供するコンテンツのタイプと、より豊かなエクスペリエンスを作成するために使用するテクノロジーについて、多くのオプションがあります。
サーバーを保護するための追加オプションを検討することもできます。 現在、ワールドワイドウェブに公開されており、非常に脆弱であることを忘れないでください。