CentOS6でnginx仮想ホスト(サーバーブロック)を設定する方法
ステータス:非推奨
この記事では、サポートされなくなったバージョンのCentOSについて説明します。 現在CentOS6を実行しているサーバーを運用している場合は、サポートされているバージョンのCentOSにアップグレードまたは移行することを強くお勧めします。
理由:
代わりに参照してください:
このガイドは参照として役立つ場合がありますが、他のCentOSリリースでは機能しない場合があります。 可能な場合は、使用しているCentOSのバージョン用に作成されたガイドを使用することを強くお勧めします。
次のDigitalOceanチュートリアルは、CentOS 7サーバーでのNginxサーバーブロックの設定の概要を示しているため、複雑なものになる可能性があります。
仮想ホストについて
仮想ホストは、単一の仮想プライベートサーバーから複数のWebサイトまたはドメインを実行するために使用されます。注:nginx Webサイトによると、仮想ホストはnginxではサーバーブロックと呼ばれます。 ただし、Apacheと簡単に比較できるように、このチュートリアルではこれらを仮想ホストと呼びます。
イントロ
nginxがVPSにインストールされていることを確認してください。 そうでない場合は、2つの手順ですばやくインストールできます。
EPELリポジトリをインストールします。
su -c 'rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm'
nginxをインストールします
yum install nginx
ステップ1-新しいディレクトリを作成する
仮想ホストを作成する最初のステップは、新しいWebサイトの情報を保持するディレクトリを作成することです。
この場所は、後でNginx仮想構成ファイルのドキュメントルートになります。 コード行に-pを追加すると、コマンドは新しいディレクトリのすべての親を自動的に生成します。
sudo mkdir -p /var/www/example.com/public_html
仮想ホストが機能していることをテストするには、実際のDNS承認済みドメインまたはIPアドレスを指定する必要があります。 このチュートリアルでは、example.comを正しいドメイン名のプレースホルダーとして使用します。
ただし、未承認のドメイン名を使用してプロセスをテストする場合は、ステップ6でローカルコンピューターでそれを機能させる方法に関する情報を見つけることができます。
ステップ2—権限を付与する
ディレクトリをルートシステムに保持するだけでなく、適切なユーザーにディレクトリの所有権を付与する必要があります。 以下の「www」を適切なユーザー名に置き換えることができます。
sudo chown -R www:www /var/www/example.com/public_html
さらに、誰もが新しいファイルを読み取れるようにすることが重要です。
sudo chmod 755 /var/www
これで、すべての権限が完了しました。
ステップ3—ページを作成する
以前に作成したディレクトリ内にindex.htmlという新しいファイルを作成する必要があります。
sudo vi /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構成ファイル自体を入力することです。
sudo vi /etc/nginx/conf.d/virtual.conf
仮想ホストファイルは、仮想サーバー上でほぼ完全にセットアップされています。 完了するには、次の構成を一致させ、必要に応じてサーバー名とファイルの場所を変更します。
# # A virtual host using mix of IP-, name-, and port-based configuration # server { listen 80; # listen *:80; server_name example.com; location / { root /var/www/example.com/public_html/; index index.html index.htm; } }
保存して終了。
ステップ5—nginxを再起動します
構成に多くの変更を加えました。 nginxを再起動し、変更を表示します。
/etc/init.d/nginx restart
オプションのステップ6—ローカルホストの設定
実際のドメインまたはIPアドレスを使用して仮想サーバーをテストしている場合は、ローカルホストを設定する必要はありません。 ただし、所有していないジェネリックドメインを使用している場合は、これにより、コンピューターでのみ、ドメインをカスタマイズできることが保証されます。
この手順では、VPSではなく、コンピューター自体を使用していることを確認してください。
この手順を続行するには、コンピューターの管理者パスワードを知っている必要があります。そうでない場合は、実際のドメイン名またはIPアドレスを使用して仮想ホストをテストする必要があります。
管理者アクセス権(suと入力して正しいパスワードを入力することで取得)があると仮定すると、ローカルホストを設定する方法は次のとおりです。
ローカルコンピューターで、次のように入力します。
nano /etc/hosts
次の例に示すように、ローカルホストの詳細をこのファイルに追加できます。 IPアドレスとサーバー名の行がある限り、ブラウザをたとえば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
ただし、今後の混乱を避けるために、完了したら、これらの構成されたアドレスをローカルホストフォルダから削除することをお勧めします。
ステップ7—仮想ホストの動作を確認する
仮想ホストの設定が完了すると、オンラインでどのように表示されるかを確認できます。 ブラウザでドメイン名またはIPアドレスを指定すると、「成功-仮想ホストを設定しました」というページが表示されます。
仮想ホストの追加
追加の仮想ホストを作成するには、上記のプロセスを繰り返すだけで、毎回適切な新しいドメイン名で新しいドキュメントルートを設定するように注意してください。 次に、以下に示すように、新しい仮想ホスト情報をコピーしてnginxConfigファイルに貼り付けます。
# # A virtual host using mix of IP-, name-, and port-based configuration # server { listen 80; # listen *:80; server_name example.com; location / { root /var/www/example.com/public_html/; index index.html index.htm; } } server { listen 80; # listen *:80; server_name example.org; location / { root /var/www/example.org/public_html/; index index.html index.htm; } }