NGINXはengine-xと発音されます はオープンソースで人気のあるHTTPサーバーであり、リバースプロキシおよびロードバランサーとして機能するように構成できます。
Apacheと比較すると、NGINXはリソースをあまり消費せず、イベントベースの非同期アーキテクチャにより、多数の同時リクエストを処理できます。
Apacheは市場シェアでリードしていますが、NGINXは過去数年間で着実に着実に成長しています。この記事では、仮想ホストを構成するとともに、Ubuntu18.04にNGINXをインストールする方法について説明します。
前提条件
rootまたはsudo対応ユーザーを使用してUbuntu18.04システムにSSHで接続できます。 rootとしてログインしている場合は、コマンドをそのまま実行できます。 sudo enable usedを使用している場合は、コマンドの前に「sudo」を付けてください。
システムを更新する
NGINXのインストールを開始する前に、Ubuntu18.04を最新のものにアップグレードすることを常にお勧めします。次のapt-getコマンドで実行できます。
# apt-get update
# apt-get upgrade
最初のコマンドは利用可能なパッケージとそのバージョンのリストを更新し、2番目のコマンドは実際にあなたが持っているパッケージの新しいバージョンをインストールします。
システムのアップグレードが完了したら、次のコマンドを使用してUbuntuシステムのリリースバージョンを確認します。
# lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 18.04.2 LTS
Release: 18.04
Codename: bionic
UbuntuにNGINXをインストールする
NGINXはUbuntuのデフォルトのリポジトリで利用可能であり、以下に示すように1行のコマンドでインストールできます。
# apt-get install nginx
NGINXがインストールされると、自動的に実行されます。次のsystemctlを使用して、それを確認できます。 コマンド。
# systemctl status 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 Tue 2019-02-12 09:12:08 UTC; 11s ago
Docs: man:nginx(8)
Process: 17726 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
Process: 17714 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
Main PID: 17729 (nginx)
Tasks: 2 (limit: 1152)
CGroup: /system.slice/nginx.service
├─17729 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
└─17732 nginx: worker process
上記のコマンドの出力は、NGINXがロードされてPID17729でアクティブになっていることを確認します。
ファイアウォールアクセスの構成
Ubuntu18.04システムでデフォルトのファイアウォールマネージャーUFWを以前に有効にした可能性があります。したがって、HTTPを使用してWebページを提供するためにNGINXが使用するポート番号80のブロックを解除する必要があります。
# ufw allow 80/tcp
# ufw reload
後の段階でSSL証明書をインストールしてHTTPSを使用することを計画している場合は、ポート番号443も開きます。
# ufw allow 443/tcp
# ufw reload
次に、お気に入りのWebブラウザでhttps://SERVER_IP
を指定します。 、NGINXウェルカムページが表示されます。

Nginxウェルカムページ
または、CURLコマンドを使用して同じことを確認することもできます。 Nginxが稼働している場合、次のcurlコマンドはインデックスページのヘッダーをフェッチします。それ以外の場合は、エラーメッセージを表示します。次のcurlコマンドで使用するIPアドレスを自分のアドレスに合わせて調整します。
# curl -I 13.234.46.76

cURLNginxサーバーIP
NGINXサービスの管理
NGINXサービスの管理は、他のsystemdサービスの場合と同じように非常に簡単です。次のセクションでは、各NGINXsystemdコマンドを1つずつリストします。
1。 NGINXサーバーを停止します
NGINXサービスを停止するには、次のsystemdコマンドを使用します。
# systemctl stop nginx
2。 NGINXサーバーを起動します
次を使用してNGINXを再起動します:
# systemctl start nginx
3。 NGINXサーバーを再起動します
NGINXサービスを停止および開始するには、次を使用します:
# systemctl restart nginx
4。 NGINXサーバー構成をリロードする
接続を切断せずにNGINXサービスをリロードするには、次を使用します:
# systemctl reload nginx
5。起動時にNGINX自動起動を無効にする
デフォルトでは、NGINXは、以前に見たように、再起動中に自動的に起動するように構成されています。この動作を無効にするには、次のコマンドを使用します。
# systemctl disable nginx
5。起動時にNGINX自動起動を有効にする
再起動中にNGINXが自動的に起動するようにするには、次を使用します:
# systemctl enable nginx
仮想ホストをNGINXサーバーに追加する
NGINXが提供するデフォルトページの構成ファイルは、 / etc / nginx / sites-availableの場所にあります。 、ファイル名はデフォルトである必要があります 。このファイルを編集して、デフォルトサイトの構成オプションをさらに追加します。ただし、仮想ホストの追加に関心があります。
仮想ホストを追加するには、 / etc / nginx / sites-availableに移動します フォルダ。これは、NGINXサーバーブロックのデフォルトの場所です。お気に入りのエディターを使用して、そのようなサーバーブロックを1つ作成します。つまり、上記の場所に仮想ホストを作成します。
# cd /etc/nginx/sites-available
# cat wordpress.conf
server {
listen 80;
root /var/www/html/wordpress;
index index.html;
server_name example.journaldev.com;
}
上記の仮想ホストはexample.journaldev.comとしてサーバー名を使用しています。この名前をドメインに変更してください。次に、上記のサーバーブロックに従ってサイトのルートを作成し、フォルダーの所有権をwww-dataであるNGINX所有者に変更します。
# mkdir -p /var/www/html/wordpress
# chown -R www-data:www-data /var/www/html/wordpress
サーバーブロックをアクティブ化するには、 / etc / nginx / sites-enabled内に上記の仮想ホスト構成ファイルのシンボリックリンクを作成します フォルダ。
# cd /etc/nginx/sites-enabled
# ln -s ../sites-available/wordpress.conf .
最後にインデックスページを作成します:
# cd /var/www/html/wordpress
# echo "This page is served from the domain example.journaldev.com" > index.html
NGINXの新しい設定をリロードします:
# systemctl reload nginx
curlコマンドを使用して、NGINXが新しいドメインのインデックスページを提供しているかどうかを確認します。
# curl example.journaldev.com
This page is served from the domain example.journaldev.com
上記のCURLコマンドの出力は、NGINXがドメインexample.journaldev.comのインデックスページを提供していることを確認し、したがって上記の仮想ホスト構成の正確さを検証します。
結論
Ubuntu18.04へのNGINXのインストールが完了しました。 NGINXのインストールとは別に、NGINXのさまざまなsystemdオプションと、NGINXサーバーブロックを介して仮想ホストを追加する方法も確認しました。これで、別のサーバーブロックを作成することで、Lets EncryptからドメインのSSL証明書のインストールを続行できます。これにより、NGINXがHTTPSを使用してページを提供できるようになります。