Ubuntu 12.04 LTSでnginx仮想ホスト(サーバーブロック)を設定する方法
ステータス:非推奨
この記事では、サポートされなくなったバージョンのUbuntuについて説明します。 現在Ubuntu12.04を実行しているサーバーを運用している場合は、サポートされているバージョンのUbuntuにアップグレードまたは移行することを強くお勧めします。
理由:
Ubuntu 12.04は2017年4月28日に保守終了(EOL)に達しました and no longer receives security patches or updates. This guide is no longer maintained.
代わりに参照してください:
このガイドは参照として役立つ場合がありますが、他のUbuntuリリースでは機能しない場合があります。 可能な場合は、使用しているUbuntuのバージョン用に作成されたガイドを使用することを強くお勧めします。 ページ上部の検索機能を使用して、より新しいバージョンを見つけることができます。
仮想ホストについて
仮想ホストは、単一のサーバーから複数のWebサイトまたはドメインを実行するために使用されます。 注:nginxのWebサイトによると、仮想ホストはnginxではサーバーブロックと呼ばれます。 ただし、apacheと簡単に比較できるように、このチュートリアルではそれらを仮想ホストと呼びます。
設定
このチュートリアルの手順では、ユーザーが仮想プライベートサーバーに対するroot権限を持っている必要があります。 これを設定する方法は、手順3と4の初期サーバー設定チュートリアルで確認できます。 さらに、ステップでユーザーを参照する場合は、wwwという名前を使用します。 自分に合ったユーザー名を実装できます。
さらに、nginxがVPSにすでにインストールされている必要があります。 そうでない場合は、次のコマンドでダウンロードできます。
sudo apt-get install nginx
ステップ1-新しいディレクトリを作成する
仮想ホストを作成する最初のステップは、新しいWebサイトの情報を保持するディレクトリを作成することです。
この場所は、後でnginx仮想構成ファイルのドキュメントルートになります。 コード行に-pを追加すると、コマンドは新しいディレクトリのすべての親を自動的に生成します。
sudo mkdir -p /var/www/example.com/public_html
仮想ホストが機能していることをテストするには、実際のDNS承認済みドメインまたはIPアドレスを指定する必要があります。 このチュートリアルでは、example.comを正しいドメイン名のプレースホルダーとして使用します。
ただし、未承認のドメイン名を使用してプロセスをテストする場合は、ステップ6でローカルコンピューターでそれを機能させる方法に関する情報を見つけることができます。
ステップ2—権限を付与する
ディレクトリをルートシステムに保持するだけでなく、適切なユーザーにディレクトリの所有権を付与する必要があります。 以下の「www-data」を適切なユーザー名に置き換えることができます。
sudo chown -R www-data:www-data /var/www/example.com/public_html
さらに、誰もが新しいファイルを読み取れるようにすることが重要です。
sudo chmod 755 /var/www
これで、すべての権限が完了しました。
ステップ3—ページを作成する
以前に作成したディレクトリ内にindex.htmlという新しいファイルを作成する必要があります。
sudo nano /var/www/example.com/public_html/index.html
ファイルにテキストを追加して、サイトが仮想ホストにリダイレクトするときに何かを確認できるようにすることができます。
<html> <head> <title>www.example.com</title> </head> <body> <h1>Success: You Have Set Up a Virtual Host</h1> </body> </html>
保存して終了
ステップ4—新しい仮想ホストファイルを作成する
次のステップは、すべての仮想ホスト情報を含む新しいファイルを作成することです。
nginxは、sites-availableディレクトリ(/ etc / nginx / sites-available)にあるこのファイルのレイアウトを提供し、テキストを新しいカスタムファイルにコピーするだけです。
sudo cp /etc/nginx/sites-available/default /etc/nginx/sites-available/example.com
ステップ5—仮想ホストを設定する
新しい仮想ホストファイルを開きます—仮想ホストをセットアップするために必要なすべての情報が表示されます。
sudo nano /etc/nginx/sites-available/example.com
これらの数行にいくつかの変更を加える必要があります。
server { listen 80; ## listen for ipv4; this line is default and implied #listen [::]:80 default ipv6only=on; ## listen for ipv6 root /var/www/example.com/public_html; index index.html index.htm; # Make site accessible from http://localhost/ server_name example.com; }
- 「listen80」のコメントを外して、そのポートから入ってくるすべてのトラフィックがサイトに向けられるようにします
- 手順1で作成したディレクトリと一致するようにルート拡張子を変更します。 ドキュメントルートが正しくないか存在しない場合、仮想ホストを設定することはできません。
- サーバー名をDNS承認済みドメイン名に変更するか、ドメイン名がない場合はIPアドレスを使用できます
このファイルに他の変更を加える必要はありません。 保存して終了。
最後のステップは、sites-availableディレクトリとsites-enabledディレクトリの間にシンボリックリンクを作成してホストをアクティブ化することです。 Apacheでは、これを実現するコマンドは「a2ensite」です。nginxには同等のショートカットはありませんが、それでも簡単なコマンドです。
sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/example.com
「競合するサーバー名エラー」を回避し、サイトにアクセスして正しい情報が表示されるようにするために、デフォルトのnginxサーバーブロックを削除できます。
sudo rm /etc/nginx/sites-enabled/default
ステップ6—nginxを再起動します
構成に多くの変更を加えました。 nginxを再起動し、変更を表示します。
sudo service nginx restart
オプションのステップ7—ローカルホストの設定
ドメイン名がサーバーのIPアドレスを指している場合は、この手順をスキップできます。ローカルホストを設定する必要はありません。 仮想ホストが機能するはずです。 ただし、実際のドメイン名に接続せずに新しい仮想ホストを試してみたい場合は、コンピューターだけでローカルホストを設定できます。 この手順では、ドロップレットではなく、コンピューター自体を使用していることを確認してください。
この手順を続行するには、コンピューターの管理者パスワードを知っている必要があります。そうでない場合は、実際のドメイン名を使用して仮想ホストをテストする必要があります。
MacまたはLinuxを使用している場合は、コンピューターのrootユーザー(su
)にアクセスし、hostsファイルを開きます。
nano /etc/hosts
Windowsコンピュータを使用している場合は、Microsoftサイトでホストファイルを変更する手順を見つけることができます。
次の例に示すように、このファイルにローカルホストの詳細を追加できます。 その行がある限り、たとえばexample.comにブラウザを向けると、対応するIPアドレスのすべての仮想ホストの詳細が表示されます。
# Host Database # # localhost is used to configure the loopback interface # when the system is booting. Do not change this entry. ## 127.0.0.1 localhost #Virtual Hosts 12.34.56.789 www.example.com
ただし、今後の混乱を避けるために、完了したら、これらの構成されたアドレスをローカルホストフォルダから削除することをお勧めします。
ステップ8—結果:仮想ホストの動作を確認する
仮想ホストの設定が完了すると、オンラインでどのように表示されるかを確認できます。 ドメイン名またはIPアドレスをブラウザに入力します(つまり、 http://12.34.56.789)
便利なスクリーンショットに少し似ているはずです
より多くの仮想ホストを作成する
さらに仮想ホストを追加するには、上記のプロセスを繰り返し、適切なドメイン名で新しいドキュメントルートを設定し、新しい仮想ホストファイルを作成してアクティブ化するように注意してください。
続きを見る
仮想ホストを設定したら、サイトのSSL証明書の作成またはFTPサーバーのインストールに進むことができます。