開発者ドキュメント

Ubuntu16.04にNginxをインストールする方法

序章

Nginxは、世界で最も人気のあるWebサーバーの1つであり、インターネット上で最大かつ最もトラフィックの多いサイトのいくつかをホストする責任があります。 ほとんどの場合、Apacheよりもリソースに優しく、Webサーバーまたはリバースプロキシとして使用できます。

このガイドでは、Ubuntu16.04サーバーにNginxをインストールする方法について説明します。

前提条件

このガイドを開始する前に、サーバーにsudo権限が設定されたroot以外の通常のユーザーが必要です。 Ubuntu 16.04 初期サーバーセットアップガイドに従って、通常のユーザーアカウントを構成する方法を学ぶことができます。

利用可能なアカウントがある場合は、root以外のユーザーとしてログインして開始します。

ステップ1:Nginxをインストールする

NginxはUbuntuのデフォルトのリポジトリで利用できるため、インストールはかなり簡単です。

これは、このセッションでのaptパッケージングシステムとの最初のやり取りであるため、最新のパッケージリストにアクセスできるように、ローカルパッケージインデックスを更新します。 その後、nginxをインストールできます。

  1. sudo apt-get update
  2. sudo apt-get install nginx

手順を受け入れた後、apt-getはNginxと必要な依存関係をサーバーにインストールします。

ステップ2:ファイアウォールを調整する

Nginxをテストする前に、サービスへのアクセスを許可するようにファイアウォールソフトウェアを再構成する必要があります。 Nginxは、インストール時に、ファイアウォールであるufwにサービスとして登録します。 これにより、Nginxアクセスを許可するのがかなり簡単になります。

ufwが操作方法を知っているアプリケーション構成をリストするには、次のように入力します。

  1. sudo ufw app list

アプリケーションプロファイルのリストを取得する必要があります。

Output
Available applications: Nginx Full Nginx HTTP Nginx HTTPS OpenSSH

ご覧のとおり、Nginxで使用できるプロファイルは3つあります。

構成したトラフィックを引き続き許可する最も制限の厳しいプロファイルを有効にすることをお勧めします。 サーバーにSSLをまだ構成していないため、このガイドでは、ポート80でのトラフィックのみを許可する必要があります。

これを有効にするには、次のように入力します。

  1. sudo ufw allow 'Nginx HTTP'

次のように入力して、変更を確認できます。

  1. sudo ufw status

表示された出力に許可されたHTTPトラフィックが表示されます。

Output
Status: active To Action From -- ------ ---- OpenSSH ALLOW Anywhere Nginx HTTP ALLOW Anywhere OpenSSH (v6) ALLOW Anywhere (v6) Nginx HTTP (v6) ALLOW Anywhere (v6)

ステップ3:Webサーバーを確認します

インストールプロセスの最後に、Ubuntu16.04はNginxを起動します。 Webサーバーはすでに稼働しているはずです。

systemd initシステムで、次のように入力してサービスが実行されていることを確認できます。

  1. systemctl status nginx
Output
● nginx.service - A high performance web server and a reverse proxy server Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled) Active: active (running) since Mon 2016-04-18 16:14:00 EDT; 4min 2s ago Main PID: 12857 (nginx) CGroup: /system.slice/nginx.service ├─12857 nginx: master process /usr/sbin/nginx -g daemon on; master_process on └─12858 nginx: worker process

上記のように、サービスは正常に開始されたようです。 ただし、これをテストする最良の方法は、実際にNginxにページをリクエストすることです。

デフォルトのNginxランディングページにアクセスして、ソフトウェアが正しく実行されていることを確認できます。 これには、サーバーのドメイン名またはIPアドレスを介してアクセスできます。

サーバーにドメイン名を設定していない場合は、ここでDigitalOceanを使用してドメインを設定する方法を学ぶことができます。

サーバーのドメイン名を設定したくない場合は、サーバーのパブリックIPアドレスを使用できます。 サーバーのIPアドレスがわからない場合は、コマンドラインからいくつかの異なる方法で取得できます。

サーバーのコマンドプロンプトで次のように入力してみてください。

  1. ip addr show eth0 | grep inet | awk '{ print $2; }' | sed 's/\/.*$//'

数行戻ります。 Webブラウザーでそれぞれを試して、機能するかどうかを確認できます。

別の方法は、これを入力することです。これにより、インターネット上の別の場所から見たパブリックIPアドレスがわかります。

  1. sudo apt-get install curl
  2. curl -4 icanhazip.com

サーバーのIPアドレスまたはドメインがある場合は、それをブラウザのアドレスバーに入力します。

http://server_domain_or_IP

デフォルトのNginxランディングページが表示されます。これは次のようになります。

このページは、サーバーが正しく実行されていることを示すためにNginxに含まれているだけです。

ステップ4:Nginxプロセスを管理する

Webサーバーが稼働しているので、いくつかの基本的な管理コマンドを確認できます。

Webサーバーを停止するには、次のように入力します。

  1. sudo systemctl stop nginx

停止時にWebサーバーを起動するには、次のように入力します。

  1. sudo systemctl start nginx

サービスを停止してから再開するには、次のように入力します。

  1. sudo systemctl restart nginx

単に構成を変更するだけの場合、Nginxは接続を切断せずにリロードできることがよくあります。 これを行うには、次のコマンドを使用できます。

  1. sudo systemctl reload nginx

デフォルトでは、Nginxはサーバーの起動時に自動的に起動するように構成されています。 これが希望どおりでない場合は、次のように入力してこの動作を無効にできます。

  1. sudo systemctl disable nginx

起動時にサービスを再度有効にするには、次のように入力します。

  1. sudo systemctl enable nginx

ステップ5:重要なNginxファイルとディレクトリに精通する

サービス自体を管理する方法がわかったので、いくつかの重要なディレクトリとファイルに慣れるために数分かかる必要があります。

コンテンツ

サーバー構成

サーバーログ

結論

Webサーバーがインストールされたので、提供するコンテンツのタイプと、より豊かなエクスペリエンスを作成するために使用するテクノロジーについて、多くのオプションがあります。

ここでNginxサーバーブロックの使用方法を学びます。 より完全なアプリケーションスタックを構築したい場合は、 Ubuntu16.04でLEMPスタックを構成する方法に関するこの記事を確認してください。

モバイルバージョンを終了