10

私はすぐにVPSを取得することを計画しており、ホストしたい2つのサイトがあります。ホストファイルを使用して開発環境用にローカルvhostをセットアップし、正しく移植しています。

私の質問は簡単です。1つのVPSサーバーを指す2つの別々のドメインを設定する場合、ローカル環境のようにApacheは十分に賢く、domain.comへのリクエストをローカルのように正しいVHOSTに自動的にフィルタリングできますか?確認したいのですが:)

ありがとう!

私が求めているものの例:

Domain1.comとDomain2.comの両方が私のVPSにあるとしましょう。

誰かがwww.Domain1.comを要求すると、apacheはこれを確認し、domain1.comvhostファイルに渡します。誰かがwww.Domain2.comを要求すると、apacheはこれを確認し、domain2.comvhostファイルに渡します。

4

2 に答える 2

10

1つのVPSのみを使用して2つのドメインをホストすることから私の答えを返信しますか?ここにあるように、それはさらに関連性があります。

完全な初心者として、私は1つのApacheVPSで複数のドメインをホストしようとしています。チュートリアルには情報が多すぎて混乱を招きました。

以下では、完全な初心者のために、UbuntuとApacheを使用して1つのVPSサーバーで複数のドメインをホストする方法について説明します。

重要!ほとんどの操作を実行するには、rootアカウントを使用する必要があります。

重要!以前にapache構成に変更を加えようとしたことがある場合は、それらを元に戻します。

VirtualHostsの作成

サーバー上にドメインのフォルダーを作成します。例えば:

/home/apache/domain1

/home/apache/domain2

index.htmlファイルを任意のテキストとともに各フォルダーに配置します。

This is domain1
This is domain2

フォルダに移動し/etc/apache2/sites-availableます。

ファイルdomain1.confを作成します

sudo nano domain1.conf

<VirtualHost *:80>
DocumentRoot /home/apache/domain1
ServerName domain1.com
ServerAlias www.domain1.com
</VirtualHost>

ファイルdomain2.confを作成します

sudo nano domain2.conf

<VirtualHost *:80>
DocumentRoot /home/apache/domain2
ServerName domain2.com
ServerAlias www.domain2.com
</VirtualHost>

同じ方法でサブドメインを作成できます。

sudo nano blog.conf

<VirtualHost *:80>
DocumentRoot /home/apache/blog
ServerName blog.domain.com
ServerAlias www.blog.domain.com
</VirtualHost>

作成したサイトを有効にする

sudo a2ensite domain1.conf
sudo a2ensite domain2.conf

apacheを再起動します

sudo service apache2 reload

ドメインをサーバーにリダイレクトする

作成されたVirtualHostsは、ドメイン名をサーバーIPにリダイレクトした場合にのみ機能します。ドメインは、IP番号に変換できる単なる名前です。

ローカルコンピューター

ローカルマシンで構成をテストするには、hostsファイルを編集する必要があります。

sudo nano /etc/hosts

このようになります。

127.0.0.1       localhost domain1.com domain2.com

ホストファイルは、ドメインをローカルマシンにリダイレクトする必要があることをコンピュータに通知します。

重要!たとえば、既存のドメインのhostsファイルにエントリを作成する場合

127.0.0.1       stackoverflow.com

このウェブサイトへのアクセスが失われます。

サーバ

ドメインをWebサーバーにリダイレクトするには、特定のドメインの「A」タイプのDNSレコードをサーバーのIPアドレスに作成または変更する必要があります。ドメインレジストラが提供するパネルコントロールによってそれを行うことができます。

サーバーのIPアドレスがわからない場合は、そのサーバーにログインして、コマンドラインを入力します。

ifconfig
于 2012-09-29T17:57:00.737 に答える
9

簡単な答えは「はい」です、Apacheはその賢いです。ローカルドメインをシミュレートするためにhostsファイルと組み合わせてローカルvhostファイルを使用することに慣れている場合は、まったく同じ手法をVPSに適用できます。ホストファイルで行っているのは、Apacheが違いを認識していないことを除いて、基本的にローカルネームサーバーを作成することです。名前付き仮想ホストごとにServerNameディレクティブを設定するだけで、ローカルと同じように機能するはずです。

于 2010-08-16T16:46:17.377 に答える