はじめに
Nginxは、Webサーバー用の無料のオープンソースLinuxアプリケーションです。 Webトラフィックを特定のサーバーに転送することにより、リバースプロキシサーバーとして機能します。
Nginxはセキュリティと負荷分散に使用されますが、Webサーバーとして独立して機能することもできます。
このガイドは、Ubuntu 20.04 Linux(Focal Fossa)にNginxをインストールするのに役立ちます。
前提条件
- Ubuntu20.04Linuxを実行しているシステム
- sudoのユーザーアカウント またはルート 特権
- ターミナルウィンドウ/コマンドラインへのアクセス(アクティビティ>検索> をクリックします ターミナルと入力します )
ステップ1:ソフトウェアリポジトリを更新する
新しいソフトウェアをインストールする前に、リポジトリリストを更新することが重要です。これにより、最新のアップデートとパッチが確実にインストールされます。
ターミナルウィンドウを開き、次のように入力します。
sudo apt-get update
プロセスが終了するまで待ちます。
ステップ2:UbuntuリポジトリからNginxをインストールする
NginxはUbuntu20.04のデフォルトリポジトリに含まれています。次のコマンドを入力してインストールします:
sudo apt-get install nginx
ステップ3:インストールを確認する
ソフトウェアのバージョンを確認して、Nginxが正しくインストールされていることを確認します。次のように入力します:
nginx -v
システムはNginxのソフトウェアバージョンを表示する必要があります。
ステップ4:Nginxサービスの制御
Nginxの動作を調整できます。これを使用して、Nginxを開始または停止したり、起動時にNginxを有効または無効にしたりします。
Nginxサービスのステータスを確認することから始めます:
sudo systemctl status nginx
ステータスがactive (running)
と表示されている場合 、Nginxはすでに開始されています。 CTRL
を押します + z
ステータス表示を終了します。
Nginxが実行されていない場合は、次のコマンドを使用してNginxサービスを起動します。
sudo systemctl start nginx
システムの起動時にNginxをロードするように設定するには、次のように入力します。
sudo systemctl enable nginx
Nginxサービスを停止するには、次のように入力します。
sudo systemctl stop nginx
システムの起動時にNginxが読み込まれないようにするには:
sudo systemctl disable nginx
Nginxサービスをリロードするには(構成変更の適用に使用):
sudo systemctl reload nginx
Nginxのハードリスタートの場合:
sudo systemctl restart nginx
ステップ5:Nginxトラフィックを許可する
Nginxは、システムのファイアウォールを介してアクセスする必要があります。これを行うために、NginxはUbuntuのデフォルトの ufwのプロファイルのセットをインストールします (複雑でないファイアウォール)。
利用可能なNginxプロファイルを表示することから始めます:
sudo ufw app list
システムは次を表示する必要があります:
デフォルトのUbuntuファイアウォールを介したNginxアクセスを許可するには、次のように入力します。
sudo ufw allow 'nginx http'
システムはRules updated
を表示する必要があります 。
次のように入力して、ファイアウォール設定を更新します。
sudo ufw reload
暗号化された(https)トラフィックの場合は、次のように入力します。
sudo ufw allow 'nginx https'
両方を許可するには、次のように入力します。
sudo ufw allow 'nginx full'
ステップ6:Nginxをテストする
手順4のように、Nginxサービスが実行されていることを確認します。Webブラウザを開き、次のWebアドレスに移動します。
http://127.0.0.1
システムはNginxウェルカムページを表示する必要があります。
システムにグラフィカルインターフェイスがない場合は、 curlを使用してNginxウェルカムページをターミナルに読み込むことができます :
sudo apt-get install curl
curl –i 127.0.0.1
システムは、NginxウェルカムページのHTMLコードを表示する必要があります。
ステップ7:サーバーブロックを構成する(オプション)
Nginxでは、サーバーブロックは独自のサーバーとして機能する構成です。デフォルトでは、Nginxには1つのサーバーブロックが事前構成されています。
/ var / www / htmlにあります 。ただし、サイトごとに複数のサーバーブロックを使用して構成できます。
1。テストドメインのディレクトリを作成する
ターミナルウィンドウで、次のように入力して新しいディレクトリを作成します。
sudo mkdir -p /var/www/test_domain.com/html
2。所有権と権限を構成する
chmod
を使用する 所有権と権限のルールを構成するには:
sudo chown –R $USER:$USER /var/www/test_domain.com
sudo chmod –R 755 /var/www/test_domain.com
3。サーバーブロックのindex.htmlファイルを作成する
index.htmlを開きます 選択したテキストエディタで編集する場合(Nanoテキストエディタを使用します):
sudo nano /var/www/test_domain.com/html/index.html
テキストエディタで、次のHTMLコードを入力します。
<html>
<head>
<title>Welcome to test_domain.com!</title>
</head>
<body>
<h1>This message confirms that your Nginx server block is working. Great work!</h1>
</body>
</html>
CTRL
を押します + o
変更を書き込むには、 CTRL
+ x
終了します。
4。 Nginxサーバーブロック構成を作成する
編集用に構成ファイルを開きます:
sudo nano /etc/nginx/sites-available/test_domain.com
次のコードを入力します:
server {
listen 80;
root /var/www/test_domain.com/html;
index index.html index.htm index.nginx.debian.html;
server_name test_domain.com www.test_domain.com;
location / {
try_files $uri $uri/ =404;
}
}
5。起動時に読み取るNginxのシンボリックリンクを作成する
次のように入力して、サーバーブロックとスタートアップディレクトリの間にシンボリックリンクを作成します。
sudo ln –s /etc/nginx/sites-available/test_domain.com /etc/nginx/sites-enabled
6。 Nginxサービスを再起動します
次のコマンドを実行してNginxを再起動します:
sudo systemctl restart nginx
7。構成をテストする
sudo nginx –t
システムは、構成ファイルの構文に問題がなく、構成ファイルのテストが成功したことを報告する必要があります。
8。 Hostsファイルの変更(オプション)
登録または公開されていないテストドメイン名を使用している場合は、 / etc / hosts test_domain.com を表示するには、ファイルを変更する必要がある場合があります ページ。
次のコマンドを使用して、システムのIPアドレスを表示します。
hostname –i
表示されたIPアドレスをメモします。
次に、 / etc / hostsを開きます 編集用:
sudo nano /etc/hosts
ローカルホスト情報のすぐ下の空のスペースに、次の行を追加します。
127.0.1.1 test_domain.com www.test_domain.com
127.0.0.1を上記のIPアドレスに置き換えます。 CTRL
を押します + o
変更を保存するには、 CTRL
+ x
終了します。
9。 Webブラウザでtest_domain.comを確認してください
ブラウザウィンドウを開き、 test_domain.comに移動します。 (またはNginxで構成したドメイン名)
パート3で入力したメッセージが表示されます。
重要なNginxファイルの場所
デフォルトでは、Nginxはさまざまな構成ファイルとログファイルを次の場所に保存します:
- / var / www / html –訪問者から見たWebサイトのコンテンツ。
- / etc / nginx –メインのNginxアプリケーションファイルの場所。
- /etc/nginx/nginx.conf – メインのNginx構成ファイル。
- / etc / nginx / sites-available –Nginxを介して構成されたすべてのWebサイトのリスト。
- / etc / nginx / sites-enabled – Nginxによってアクティブに提供されているWebサイトのリスト。
- /var/log/nginx/access.log –サーバーへのすべてのリクエストを追跡するアクセスログ。
- / var / log / ngins / error 。ログ –Nginxで生成されたエラーのログ。