50%オフ すべてのプラン、期間限定。から開始 $2.48/mo
残り13分
ウェブおよびビジネス アプリ

単一サーバーで複数の Web サイトをホストする (Apache および IIS)🌐

リリー・カーネル By リリー・カーネル 13 分で読めます 2023 年 9 月 18 日更新
単一サーバーで複数の Web サイトをホストする (Apache および IIS)🌐

オンライン ホスティングにアクセスすると、1 つのサーバーで複数の Web サイトをホストする方法を知りたくなるでしょう。これは複雑に見えるかもしれませんが、この主題について詳しく知るにつれて、技術ガイドの助けを借りてこれを実行できることが理解できるようになります。

さまざまな Web サーバーが、世界中で広く使用されている無料のオープンソース サービスを提供します。ただし、1 つのサーバーで複数の Web サイトをホストする方法を説明する前に、Web サーバーとは何か、そしてそれがどのように機能するかを知っておく必要があります。

Webサーバーとは何ですか?

Web サーバーは、Web サイトのテキスト、画像、ビデオ、アプリケーション データなどのコンテンツを保存し、提供します。つまり、これらのコンテンツを要求するクライアントは、Web サーバーの助けを借りてコンテンツを使用できます。最も一般的なクライアントの 1 つは、ユーザーがリンクをクリックするかファイルをダウンロードするときに Web サイトからデータを要求する Web ブラウザ プログラムです。

Web サーバーは、 ハイパーテキスト転送プロトコル (HTTP) Web ブラウザを使用して。ほとんどの Web ページのコンテンツは、ハイパーテキスト マークアップ言語 (HTML) でエンコードされています。コンテンツは、テキストや画像などの静的なもの、または顧客が購入のマークを付けたアイテムのリストなどの動的なものです。ほとんどの Web サーバーがサポートしています サーバーサイドスクリプト ビジネス ロジックを通信にエンコードして動的なコンテンツを提供する言語。通常、Active Server Pages (ASP)、JavaScript、PHP、Python、Ruby などの言語がサポートされています。

Webサーバーはどのように動作するのでしょうか?

Web サーバーは、 クライアントサーバー モデル。この標準的な構造では、 クライアント からのリソースまたはサービスを要求します。 サーバ.

Web サーバーは、Web クライアントのリクエストを処理するためにいくつかの手順を実行します。

  1. ユーザーが Web サイトにコンテンツをロードしたい場合、Web ブラウザーはアクセスを要求します (HTTPリクエスト)インターネットを通じて。
  2. Web ブラウザは、要求された Web サイトの IP アドレスを検索します。を使用して Web ページの URL を変換します。 ドメイン ネーム システム (DNS) またはそのキャッシュを検索します。このプロセスは、Web サーバーを見つけるのに役立ちます。つまり、サイトのファイルがホストされる場所です。
  3. この時点で、Web サーバーは HTTP リクエストを受信し、そのリクエストをそのリクエストを通じて処理します。 HTTPサーバー.
  4. HTTP サーバーがリクエストを受け入れると、サーバー ファイルを検索して関連データを取得します。
  5. Web サーバーは、リクエストを送信したブラウザにサイト ファイルを返します。その後、ユーザーは Web サイトのコンテンツを閲覧します。

ただし、HTTP サーバーが要求されたファイルの検索または処理に失敗した場合は、Web ブラウザにエラー メッセージが表示されることに注意してください。 Web サーバーの主な概念を理解できたので、1 つのサーバーで複数の Web サーバーをホストする方法も簡単に学ぶことができます。 

1 つのサーバーで複数の Web サイトをホスト: Apache

サーバー上で複数のサイトをホストしたい場合は、Apache の仮想ホスト ファイルを使用して、どのドメインを使用する必要があるかを指定する必要があります。サイトリクエストを解決するために使用されるメソッドの 1 つは、 名前ベースの仮想ホスト。誰かがあなたのサイトを見ると、リクエストがサーバーに送信され、ドメイン名に基づいてどのサイトのファイルを提供するかが決定されます。この手法を使用すると、同じ IP を持つ 1 つのサーバー上で複数のサイトをホストできるようになります。このガイド記事では、各ドメインの仮想ホスト ファイルを設定する方法について説明します。詳細に進む前に、root アカウントとしてログインする必要があることに注意してください。

こちらもお読みください:Linux と Windows のホスティング: どちらが適していますか?

ステップ 1: 各サイトのディレクトリを作成する

まずこのコマンドを使用して apache2 をインストールします

Debian ベースのシステムの場合

apt install apache2 -y

CentOSベースシステムの場合

yum install apache2 -y

ホストするサイトごとにディレクトリを作成する必要があります (/var/www フォルダー内)。ドメイン名として、domain.com と domain2.com を検討してください。

mkdir -p /var/www/domain.com/public_html
mkdir -p /var/www/domain2.com/public_html

ステップ 2: フォルダーのアクセス許可を設定する

chmod -R 755 /var/www

ステップ 3: インデックス ページのセットアップ

ホームページを表示するには、次のことを確認する必要があります。 index.html ファイルはドメインごとに作成されます。次のような単純なものを設定できます Domain.com のテスト このファイルにあります。

vim /var/www/domain.com/public_html/index.html

Domain.com のテスト

ここで、保存して使用を終了する必要があります 逃げる ボタンと入力:wq

以下のコマンドを使用して、2 番目のドメインに対してこれらの手順をすべて繰り返すことができます。

vim /var/www/domain2.com/public_html/index.html

ステップ 4: 各サイトの構成ファイルをコピーする

各サイトのデフォルト構成ファイルをコピーして、将来のサイト作成のために常にデフォルトのコピーを確保する必要があります。

cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/domain.com.conf
cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/domain2.com.conf

ステップ 5: 各サイトの構成ファイルを編集する

少なくとも、強調表示された行を変更して追加します。 <仮想ホスト *:80> そして </VirtualHost> タグ.

ご了承ください サーバーエイリアス はドメインの代替名です。この場合とほとんどの場合、ドメイン名の前に www を付けて、他の人が www または非 www でサイトを見ることができるようにします (サーバー名).

vim /etc/apache2/sites-available/domain.com.conf

サイト情報
サイト情報

もう一度終了して保存します。 wq。このプロセスを繰り返す必要があります domain2.com.conf ファイル;必ず更新してください サーバー名, サーバーエイリアス、 そして ドキュメントルート 2 番目のドメインの場合。

こちらもお読みください:Apache 対 NGINX

 ステップ 6: 構成ファイルを有効にする

サーバーはデフォルトで 000-default.conf ファイルを読み取るように設定されています。ただし、前のステップで、ドメインごとに新しい構成ファイルを作成しました。したがって、デフォルトのファイルを無効にして、新しい構成ファイルに適したファイルを使用する必要があります。

a2dissite 000-default.conf

新しく作成した各 .conf ファイルを有効にすることで、サーバーをドメインにマッピングできます。

a2ensite domain.com.conf
a2ensite domain2.com.conf

次に、Apache を再起動して、加えられた変更を登録しましょう。

systemctl restart apache2

ステップ 7: Apache 構成の確認

Apache を起動した後、設定を編集すると、設定が機能していることがわかります。 /etc/ホストファイル コンピュータ上または ドメインのDNS.

各要素を設定した後、ブラウザで Web サイトにアクセスし、手順 3 で作成した Index.html ページを確認できます。

こちらもお読みください: オンプレミスとクラウドの比較

1 つのサーバーで複数の Web サイトをホスト: IIS

IIS (インターネット インフォメーション サービス) Web サーバーを数十、場合によっては数百の Web サイトに使用できます。複数の Web サイトをホストし、同じ Web サイト上でリスニングと応答を行うことができます。 TCPポート。ただし、IIS マネージャーのインターフェイスには、8080 などの他のポートにバインドしなくても別の Web サイトをホストできることが表示されます。このセクションでは、同じ IIS サーバー上で複数の Web サイトをホストし、それらを同じポートと IP アドレス、または異なる IP アドレスにバインドする方法について説明します。

WindowsサーバーにIISをインストールするにはどうすればよいですか?

Windows に IIS をインストールすると、空のデフォルト Web サイトが作成され、 標準 Web HTTP ポート – TCP 80。技術的に言えば、私たちのサイトはポート TCP/80 にバインドされています。このサイトを開くには、ブラウザに IIS サーバーの名前 (「http://web-srv1」) またはその IP アドレス (「http://192.168.1.100」) を入力する必要があります。

ステップ 1: IIS Web サイトをバインドする 

Windows Server 上で実行される Web IIS サーバーは、複数の Web サイトをホストするのに役立ちます。ただし、IIS が HTTP 要求を正しく分散するのは、各 Web サイトを一意の値で識別する必要がある場合に限られます。 IIS Web サイトには、Web サイトごとに固有の組み合わせを構成する 3 つの属性が含まれています。これらの属性は次のとおりです。

  • TCPポート番号
  • IPアドレス
  • ホストヘッダー (ホスト名)

ホストされている Web サイトに関する情報は、 サーバーバインディング IIS メタベースの属性であり、その形式は次のようになります。 IP:ポート:ホスト名。したがって、1 つのサーバー (同じポートと IP アドレス) で複数の Web サイトをホストしたい場合は、 一意のホストヘッダー.

ホストヘッダーとは何だろうと疑問に思うかもしれません。ホスト ヘッダーは、サーバーへの HTTP リクエストの一部であり、宛先となる Web サイトを指定します。したがって、Web サーバー側でこのホスト ヘッダーについて言及する必要があります。 DNS には、IIS Web サーバーのホスト名と IP アドレスに一致する正しいレコードがあることに注意してください。

次に、IIS サーバー上で実行され、ポート 80 でリッスンする Web サイトがあると仮定します。2 番目の Web サイトを同じポートにバインドしたい場合はどうすればよいでしょうか?

ステップ 2: 2 番目の IIS Web サイトをバインドする

インターネット インフォメーション サービス (IIS) マネージャーで、[Web サイトの追加] ウィンドウを使用して別の Web サイトを作成し、TestSite という名前を付ける必要があります。この Web サイトは C:\inetpub\TestSite にあります。まだホスト名を指定しないように注意してください。

サイトのコンテンツをコピーした後、 C:\inetpub\TestSite でインターネット インフォメーション サービス (IIS) マネージャーを開き、サーバーのホスト名にサイトを追加してウィザードを開きます。

hostwebsites.png

新しいサイトの追加-iis
「Web サイトの追加」ウィンドウ

 

「OK」をクリックすると、使用できないことを示す警告メッセージが表示されます。 ビンディング×:80 これらの Web サイトの両方について。

ウェブサイトを追加

バインディング 80 は別のサイトに割り当てられています
チェックバインディング

この警告に同意すると、別のサイトがポート 80 にバインドされることになります。そのため、最初の Web サイトを停止しないと、そのサイトを開始できません。次の画像に注目すると、これをよりよく理解できます。

4 Web サイトに異なるバインド ポートを割り当てる
Web サイトへの異なるバインド ポートの割り当て

Windows-オリジナル-vps Windows VPS ホスティング

強力なハードウェア、最小限の遅延、お好みの無料 Windows を備えた、手頃な価格の Windows VPS プランをチェックしてください。

無料の Windows を請求する

ホストヘッダーによる IIS サーバー上での複数の Web サイトのホスティング

一意のバインドを作成するには、2 番目の IIS Web サイトに別の名前 (ホスト名) を選択する必要があります。これを行うには、右クリックします テストサイト そして選択します 編集 バインディング。必要なバインディングを選択して、 編集.

次の図でわかるように、ユーザーがアドレス指定する一意のホスト名を指定する必要があります。このチュートリアルでは、TestSite を使用します。それを「ホスト名」フィールドに入力しましょう。

テスト-iis-サイトバインディング
サイト バインドの編集ウィンドウ

コマンド プロンプトを使用して、IIS サイト バインドを構成できます。 IIS 7 以降を使用している場合は、IIS サイト バインディングを構成するコマンドを実行すると、次のような内容が表示されます。

C:\Windows\System32\inetsrv\appcmd.exe set site /site.name:testsite /+bindings.[protocol='http',bindingInformation='*:80:testsite']

最初の Web サイトと同様に、2 つ目の Web サイトを開始することもできます。

スタート-iis-サイト
ウェブサイトの管理

この時点で、IIS Web サーバーの IP アドレスまたはホスト名を参照して、サーバーの DNS エイリアス (A または CNAME) を追加する必要があります。 Active Directory ドメインを使用する場合は、ドメイン コントローラー上に DNS レコードを作成する必要があります。 IIS を使用すると、 CNAME DNS コンソール内の TestSite という名前のレコード (dnsmgmt.msc) を選択し、IIS サーバーのドメイン名を FQDN ターゲット ホストとして設定します。

DNS コンソールで TestSite という名前の CNAME レコードを作成する
DNS コンソールで TestSite という名前の CNAME レコードを作成する

PowerShell と次のコマンドを使用して、この DNS レコードを作成することもできます。

Add-DnsServerResourceRecordCName -HostNameAlias web-srv1.woshub.com -Name testsite -ZoneName woshub.com

開けてみよう http://TestSite ブラウザで。すべてが正しく行われていれば、正常に開くはずです。

同じ 80 http ポート上の複数の iis サイト
テストサイトの最終結果

 

Linux-vps Linux ホスティングの簡素化

Web サイトや Web アプリをホストするためのより良い方法が必要ですか?新しいものを開発していますか?単に Windows が気に入らないだけですか?そのため、Linux VPS を導入しています。

Linux VPS を入手する

IIS サーバー上で異なる IP アドレスを持つ複数のサイトを実行する

次に、IIS Web サーバー上で異なる IP アドレスを使用して 2 つのサイトを実行する方法について説明します。まず、Windows Server に別の VLAN インターフェイスを追加するか、追加の IP アドレス (エイリアス) を NIC に割り当てる必要があります。

このチュートリアルでは、サーバーのプライマリ IP アドレス 192.168.13.100 を同じネットワーク アダプターに IP エイリアス 192.168.13.101 を追加します。

Get-NetIPAddress | ft IPAddress, InterfaceAlias, SkipAsSource
New-NetIPAddress –IPAddress 192.168.13.101 –PrefixLength 24 –InterfaceAlias “Ethernet” –SkipAsSource $True

ここで、DNS サーバー上に新しいサイトの A レコードを作成する必要があります。

Add-DnsServerResourceRecordA -Name NewSite3 -IPv4Address 192.168.13.101 -ZoneName woshub.com -TimeToLive 01:00:00 –CreatePtr

このままサイト バインド設定を開いて、サイトをホストの追加の IP アドレスにバインドします。 PowerShell を使用して、IIS サーバー上のサイトのバインドを処理できます。これを機能させるには、WebAdministration モジュールが使用されます。

Import-Module WebAdministration

利用可能なすべての IIS サイトとそのバインディングに関するプレイ情報を確認できます。

Get-IISSite

または、単一のサイトについて:

(Get-Website -Name NewSite).bindings.Collection

バインディング.コレク​​ション

このサイトのバインドを変更するには、次のコマンドを使用します。 IP アドレス、ポート、または名前を変更できることに注意してください。

Set-WebBinding -Name NewSite1 -BindingInformation "192.168.13.101:80:NewSite1" -PropertyName 'Port' -Value '8080'
Set-WebBinding -Name NewSite1 -BindingInformation "192.168.13.101:8080:NewSite1" -PropertyName 'IPAddress' -Value '192.168.13.100'

次のコマンドを実行して、特定の IIS サイトに新しいバインドを追加できます。

New-IISSiteBinding -Name NewSite1 -BindingInformation "*:9090:" -Protocol http

バインディングの削除は、次のコマンドで実行します。

Remove-IISSiteBinding -Name NewSite1 -BindingInformation "*:9090:"

したがって、ここで説明したように、IIS Web サーバー上では、異なる IP アドレスでも、同じ IP アドレスと TCP ポート番号でも複数の Web サイトを実行できます。

最終的な考え: 1 つのサーバーで複数の Web サイトをホストする

 この記事では主にサーバーの主な概念に焦点を当て、単一サーバーで複数の Web サイトをホストする方法を学習するのに役立ちます。複数個でもお届けします Linux VPS ホスティング ソリューション。1 つのサーバー上でさまざまな Web サイトを実行するために使用できます。 Cloudzy のプランでは、複数のサーバーを所有するコストが削減されますが、当社のサービスを最大限に活用することもできます。さらに、RAM、ストレージ、プロセッサ、帯域幅などのサーバーのリソースを簡単にアップグレードできます。

よくある質問

 

単一の Web サーバーで複数の Web サイトをホスティングできますか?

十分な HDD スペース、RAM、CPU 能力などの豊富なリソースを備えた大規模なサーバーがある場合は、仮想ホスティングを使用して複数の Web サイトをホストできます。 Web サーバー上で無制限の数の Web サイトをホストできます。

1 つのサーバー上で 2 つの Web サイトを実行するにはどうすればよいでしょうか?

単一の Web サーバー上で複数の Web サイトをホストすることは、仮想サーバーと呼ばれます。さらに、選択したサーバーにトラフィックとディスク容量の要件に対処するのに十分なリソースがあることを確認する必要があります。

VPSサーバーは何に使用されますか?

VPS は、サーバー上で専用 (プライベート) リソースを提供できるホスティング サービスです。 VPS の使用は、専用のサーバー スペースを提供しない共有ホスティングよりも安全で安定したソリューションであるという事実に注意してください。

なぜ人々は VPS を使用するのでしょうか?

VPS ホスティングは、一般に専用ホスティングよりもコストが低く、共有ホスティングよりも優れた信頼性、セキュリティ、パフォーマンスを提供するため、広く普及しています。

共有

詳細はブログから

読み続けてください。

Odoo レビューのフィーチャー画像。左側に大きな見出しテキスト、右側に Odoo ロゴがあり、柔らかい紫色の雲をテーマにした背景に浮かぶアプリ インターフェイス パネルに囲まれています。
ウェブおよびビジネス アプリ

Odoo の包括的なレビュー: Odoo はあなたのビジネスに最適な ERP ですか?

Odoo は、成長するビジネス向けの ERP プラットフォームとして最も広く検討されています。その理由は 1 つあります。それは、1 か所で多くのことが期待できるという単純な理由です。営業、経理、棚卸し

ジム・シュワルツジム・シュワルツ 11 分で読めます
オープンソースの WordPress 代替案には、カラフルなグラデーションの背景を持つ画像、デスクトップ モニター、コード エディター、ぼやけたダッシュボード プレビュー、左側の大きな見出しテキストが含まれています。
ウェブおよびビジネス アプリ

開発者向けに最適なオープンソースの WordPress 代替案

WordPress は依然として重要であり、依然として幅広いサイトに適切に機能しています。そのプラグイン ディレクトリには 62,000 を超えるプラグインがホストされ、テーマ ディレクトリには 14,000 を超える無料のテーマが提供されます。た

ジム・シュワルツジム・シュワルツ 14 分で読めます
Automad と WordPress の両方のプラットフォームのロゴと、CMS 開発者がどちらを選択すべきかを尋ねる見出しを含むフィーチャー画像。
ウェブおよびビジネス アプリ

Automad vs. WordPress: 2 つの最高の CMS プラットフォームの徹底比較

Automad と WordPress は、同じ仕事を 2 つのまったく異なる方法で解決します。 Automad はフラット ファイル CMS およびテンプレート エンジンであるため、コンテンツはデータベースではなくファイル内に存在しますが、WordPress では、

ジム・シュワルツジム・シュワルツ 9 分で読めます

導入する準備はできていますか? 月額 $2.48 から。

2008 年以降の独立したクラウド。AMD EPYC、NVMe、40 Gbps。 14日間の返金。