Nginxは「enginex」と発音します。これは、インターネット上で最大のサイトのいくつかに電力を供給する、無料のオープンソースの高性能HTTPおよびリバースプロキシサーバーです。
Apacheと比較して、Nginxは非常に多くの同時接続を処理でき、接続あたりのメモリフットプリントが小さくなります。
このチュートリアルでは、Ubuntu16.04システムにNginxをインストールして管理する方法について説明します。
前提条件#
チュートリアルを開始する前に、sudo権限を持つユーザーとしてログインしていること、およびポート80または443でApacheやその他のサービスを実行していないことを確認してください。
Nginxをインストールする#
Nginxパッケージは、Ubuntuのデフォルトのソフトウェアリポジトリで利用できます。インストールは非常に簡単で、次のコマンドを実行するだけです。
sudo apt updatesudo apt install nginx
インストールが完了したら、次のように入力してNginxサービスのステータスを確認します。
sudo systemctl status nginx 出力には、Nginxサービスがアクティブで実行中であることが示されます:
● 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 Sun 2018-01-05 15:44:04 UTC; 1min 59s ago
Main PID: 1291 (nginx)
CGroup: /system.slice/nginx.service
├─1291 nginx: master process /usr/sbin/nginx -g daemon on; master_process on
└─1293 nginx: worker process
Nginxのバージョンタイプを確認するには:
sudo nginx -v nginx version: nginx/1.10.3 (Ubuntu)
UFWを使用していると仮定します ファイアウォールを管理するには、HTTP(80)を開く必要があります )およびHTTPS(443 )ポート。
これを行うには、両方のポートのルールを含む「NginxFull」プロファイルを有効にします。
sudo ufw allow 'Nginx Full' ファイアウォールのステータスタイプを確認するには:
sudo ufw status 出力は次のようになります:
Status: active
To Action From
-- ------ ----
22/tcp ALLOW Anywhere
Nginx Full ALLOW Anywhere
22/tcp (v6) ALLOW Anywhere (v6)
Nginx Full (v6) ALLOW Anywhere (v6)
Nginxが期待どおりに機能することを確認するには、http://YOUR_IPを開きます。 選択したブラウザで、以下に示すデフォルトのNginxウェルカムページが表示されます:
Nginx PPAリポジトリからNginxをインストールします#
UbuntuリポジトリのNginxパッケージは古くなっていることがよくあります。最新のNginxバージョンをインストールするには、公式のNginxPPAリポジトリを使用してください。
以下の手順に従って、Ubuntu16.04に最新バージョンのNginxをインストールします。
-
まず、
software-properties-commonをインストールします パッケージ:sudo apt install software-properties-common -
次のコマンドを使用して、NginxPPAリポジトリを追加します。
sudo add-apt-repository ppa:nginx/stable -
パッケージリストを更新し、Nginxをインストールします:
sudo apt updatesudo apt install nginx -
インストールが完了したら、次のコマンドでNginxのバージョンを確認します。
sudo nginx -v出力は次のようになります:
nginx version: nginx/1.12.2
systemctlを使用してNginxサービスを管理する#
Nginxサービスは、他のsystemdユニットと同じ方法で管理できます。
-
Nginxサービスを停止するには、次を実行します:
sudo systemctl stop nginx -
Nginxサービスを開始するには、次のように入力します:
sudo systemctl start nginx -
Nginxサービスを再起動します:
sudo systemctl restart nginx -
構成を変更した後、Nginxサービスをリロードします:
sudo systemctl reload nginx -
起動時に開始するNginxサービスを無効にします:
sudo systemctl disable nginx -
Nginxサービスを再度有効にして、起動時に再開します:
sudo systemctl enable nginx
Nginx構成ファイルの構造とベストプラクティス#
- すべてのNginx構成ファイルは
/etc/nginx/にあります ディレクトリ。 - メインのNginx構成ファイルは
/etc/nginx/nginx.confです。 。 - Nginx構成の保守を容易にするために、ドメインごとに個別の構成ファイルを作成することをお勧めします。サーバーブロックファイルは必要な数だけ持つことができます。
- Nginxサーバーブロックファイルは
/etc/nginx/sites-availableに保存されます ディレクトリ。このディレクトリにある構成ファイルは、/etc/nginx/sites-enabledにリンクされていない限り、Nginxによって使用されません。 ディレクトリ。 - サーバーブロックをアクティブ化するには、
sites-availableの構成ファイルサイトからシンボリックリンク(ポインター)を作成する必要がありますsites-enabledへのディレクトリ ディレクトリ。 - たとえば、ドメイン名が
mydomain.comの場合は、標準の命名規則に従うことをお勧めします。 次に、構成ファイルの名前を/etc/nginx/sites-available/mydomain.com.confにする必要があります。 -
/etc/nginx/snippetsディレクトリには、サーバーブロックファイルに含めることができる構成スニペットが含まれています。繰り返し可能な構成セグメントを使用する場合は、それらのセグメントをスニペットにリファクタリングし、スニペットファイルをサーバーブロックに含めることができます。 - Nginxログファイル(
access.logおよびerror.log)は/var/log/nginx/にあります ディレクトリ。別のaccessを使用することをお勧めします およびerror各サーバーブロックのログファイル。 - ドメインドキュメントのルートディレクトリは、任意の場所に設定できます。 webrootの最も一般的な場所は次のとおりです。
-
/home/<user_name>/<site_name> -
/var/www/<site_name> -
/var/www/html/<site_name> -
/opt/<site_name>
-