前書き

Ubuntuでは、https://www.nginx.com/ [Nginx Webサーバー]はそのドキュメントをhttps://www.digitalocean.com/community/tutorials/how-to-install-nginx-on-ubuntu-18に保存します-04#step-6-%E2%80%93-getting-familiar-with-important-nginx-files-and-directories [+ / var / www / html +]。通常、ルートファイルシステムにあります。オペレーティングシステムの残り。 ただし、ドキュメントルートを別の場所(別のマウントされたファイルシステムなど)に移動すると便利な場合があります。 たとえば、同じNginxインスタンスから複数のWebサイトを提供する場合、各サイトのドキュメントルートを独自のボリュームに配置すると、特定のサイトまたはクライアントのニーズに応じてスケーリングできます。

このガイドでは、Nginxドキュメントルートを新しい場所に移動します。

前提条件

このガイドを完了するには、次のものが必要です。

このチュートリアルではドメイン名* example.com *を使用しますが、これを独自のドメイン名で置き換える必要があります。

  • ドキュメントルートの新しい場所。 このチュートリアルでは、新しい場所に `+ / mnt / volume-nyc3-01 +`ディレクトリを使用します。 DigitalOceanでBlock Storageを使用している場合は、https://www.digitalocean.com/docs/volumes/how-to/create-and-attach/ [このガイド]で、ボリュームを作成してアタッチする方法を示します。 ただし、新しいドキュメントルートの場所は、ニーズに基づいて構成できます。 ドキュメントルートを別のストレージデバイスに移動する場合は、デバイスのマウントポイントの下の場所を選択します。

手順1-ファイルを新しい場所にコピーする

Nginxの新規インストールでは、ドキュメントルートは `+ / var / www / html`にあります。 ただし、前提条件のガイドに従って、新しいドキュメントルート、 `+ / var / www // html`を作成しました。 追加のドキュメントルートもあります。 この手順では、ドキュメントルートの場所を確立し、関連するファイルを新しい場所にコピーします。

`+ grep `を使用して、ドキュメントルートの場所を検索できます。 「 / etc / nginx / sites-enabled 」ディレクトリで検索して、アクティブなサイトにフォーカスを絞りましょう。 ` -R `フラグは、 ` grep `が出力に ` root +`ディレクティブを含む行と完全なファイル名の両方を出力することを保証します:

grep -R "root" /etc/nginx/sites-enabled

新しいサーバーで前提条件のチュートリアルに従った場合、結果は次のようになります。

Output/etc/nginx/sites-enabled/:           root /var/www//html;
/etc/nginx/sites-enabled/default:               root /var/www/html;
/etc/nginx/sites-enabled/default:               # deny access to .htaccess files, if Apache's document root
/etc/nginx/sites-enabled/default:#              root /var/www/example.com;

既存のセットアップがある場合、結果はここに表示されるものと異なる場合があります。 どちらの場合でも、 `+ grep +`からのフィードバックを使用して、目的のファイルを移動し、適切な構成ファイルを更新していることを確認できます。

ドキュメントルートの場所を確認したので、 `+ rsync `を使用してファイルを新しい場所にコピーできます。 ` -a `フラグを使用すると、アクセス許可とその他のディレクトリプロパティが保持され、 ` -v +`は詳細な出力を提供するため、同期の進行状況を追跡できます。

sudo rsync -av /var/www//html

次のような出力が表示されます。

Outputsending incremental file list
created directory /mnt/volume-nyc3-01
html/
html/index.html

sent 318 bytes  received 39 bytes  714.00 bytes/sec
total size is 176  speedup is 0.49

ファイルを配置したら、これらの変更を反映するためにNginxの構成を変更します。

ステップ2-構成ファイルの更新

Nginxは、グローバル構成ファイルとサイト固有の構成ファイルの両方を使用します。 構成ファイルの階層に関する背景については、https://www.digitalocean.com/community/tutorials/how-to-configure-the-nginx-web-server-on-a-virtual-private-serverをご覧ください。 [「仮想プライベートサーバーでNginx Webサーバーを構成する方法」]。 ++`プロジェクトのサーバーブロックファイル: `+ / etc / nginx / sites-enabled / +

エディターで `+ / etc / nginx / sites-enabled / +`を開くことから始めます。

sudo nano /etc/nginx/sites-enabled/

「+ root 」で始まる行を見つけて、新しいルートの場所で更新します。 私たちの場合、これは `+`になります。

/etc/nginx/sites-enabled/example.com

server {

       root ;
       index index.html index.htm index.nginx-debian.html;
       . . .
}
. . .

エイリアスやリライトを含め、ステップ1で `+ grep +`によって出力された元のドキュメントルートパスが表示される他の場所に注意してください。 また、これらを更新して、新しいドキュメントルートの場所を反映することもできます。

必要な変更をすべて行ったら、ファイルを保存して閉じます。

ステップ3-Nginxの再起動

設定の変更が完了したら、Nginxを再起動して結果をテストできます。

最初に、構文が正しいことを確認します。

sudo nginx -t

すべてが正常である場合、以下を返します。

Outputnginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

テストが失敗した場合は、問題を追跡して修正します。

テストに合格したら、Nginxを再起動します。

sudo systemctl restart nginx

サーバーが再起動したら、影響を受けるサイトにアクセスし、それらが期待どおりに機能していることを確認します。 すべてが正常であることを確認したら、データの元のコピーを削除することを忘れないでください:

sudo rm -Rf /var/www//html

これで、Nginxドキュメントルートを新しい場所に正常に移動できました。

結論

このチュートリアルでは、Nginxドキュメントルートを新しい場所に変更する方法について説明しました。 これは、1台のサーバーで複数のサイトを効果的に管理するなど、基本的なWebサーバー管理に役立ちます。 また、ネットワークブロックストレージなどの代替ストレージデバイスを利用することもできます。これは、ニーズの変化に応じてWebサイトをスケーリングするのに役立ちます。

忙しいまたは成長しているWebサイトを管理している場合、https://www.digitalocean.com/community/tutorials/how-to-set-up-nginx-with-http-2-support-の学習に興味があるかもしれませんon-ubuntu-18-04 [HTTP / 2でNginxをセットアップする方法]は、コンテンツの高速転送速度を活用します。 また、https://www.digitalocean.com/community/tutorials/5-ways-to-improve-your-production-web-application-server-setup [5つの方法実稼働Webアプリケーションサーバーのセットアップを改善する]。