人気があり強力な Apache Web サーバーで 2 つ以上のサイトをホストする方法。 前回の記事では、単一のサイト用に Apache Web サーバーを構成する方法について説明しましたが、これは非常に簡単です。この記事では、単一の Apache インスタンスを使用して複数のサイトにサービスを提供する方法を説明します。 注: この記事は、Apache 2.4.29 を搭載した Fedora 27 仮想マシンで作成しました。別のディストリビューションや Fedora の別のバージョンを使用する場合は、使用するコマンドや設定ファイルの場所と内容が異なる場合があります。 前回の記事で述べたように、すべての Apache 設定ファイルは /etc/httpd/conf と /etc/httpd/conf.d にあります。デフォルトでは、サイトのデータは /var/www にあります。複数のサイトの場合は、ホストされているサイトごとに 1 つずつ、複数の場所を指定する必要があります。 名前ベースの仮想ホスト 名前ベースの仮想ホスティングを使用すると、複数のサイトに単一の IP アドレスを使用できます。 Apache を含む最新の Web サーバーは、指定された URL のホスト名部分を使用して、どの仮想 Web ホストがページの要求に応答するかを決定します。これには、単一のサイトよりも多くの構成が必要になります。 たとえ 1 つのサイトから始める場合でも、後でサイトを追加しやすくなるように、仮想ホストとして設定することをお勧めします。この記事では、前回の記事の続きから始めるので、名前ベースの仮想サイトである元のサイトを設定する必要があります。 元のサイトを準備する 2 番目のサイトをセットアップする前に、既存の Web サイト用の名前ベースの仮想ホスティングが必要になります。現在サイトをお持ちでない場合は、戻って今すぐ作成してください。 サイトが立ち上がったら、 <仮想ホスト 127.0.0.1:80> ドキュメントルート /var/www/html サーバー名 www.site1.org </仮想ホスト> これは最初の仮想ホスト構成セクションとなり、デフォルトの定義にするために最初に残しておく必要があります。つまり、IP アドレスまたはこの IP アドレスに解決されるが特定の名前付きホスト構成セクションを持たない他の名前を介したサーバーへの HTTP アクセスは、この仮想ホストに送信されます。他のすべての仮想ホスト構成セクションは、このセクションに従う必要があります。 名前解決を提供するには、/etc/hosts のエントリを使用して Web サイトを設定する必要もあります。前回は、localhost の IP アドレスのみを使用しました。通常、これは Google や Godaddy など、使用している名前サービスを使用して実行できます。テスト サイトの場合は、/etc/hosts の localhost 行に新しい名前を追加してこれを実行します。後でこのファイルを再度編集する必要がないように、両方のサイトのエントリを追加します。結果は次のとおりです。 127.0.0.1 ローカルホスト ローカルホスト.localdomain ローカルホスト4 ローカルホスト4.localdomain4 www.site1.org www.site2.org /var/www/html/index.html ファイルをもう少しわかりやすく変更してみましょう。次のような表示になります (サイト 1 であることを示す追加テキストが含まれます)。 <h1>こんにちは世界</h1> ウェブサイト 1. httpd 構成の変更を有効にするには、HTTPD サーバーを再起動します。その後、Lynx テキスト モードを使用して、コマンド ラインからサイトを表示できます。 [root@testvm1 ~]# systemctl httpdを再起動します [root@testvm1 ~]# lynx www.site1.org こんにちは世界 ウェブサイト 1. <中略> コマンド: 矢印キーで移動し、'?' でヘルプを表示し、'q' で終了し、'<-' で戻ります。 矢印キー: 上下に移動。右でリンクをたどり、左で戻ります。 ヘルプ オプション 印刷 移動 メイン画面 質問 /=検索 [削除]=履歴リスト 明らかなエラーなく、元の Web サイトが変更されているのが確認できます。Q キーを押してから Y キーを押して、Lynx Web ブラウザを終了します。 2番目のサイトの構成 これで、2 番目の Web サイトを構築する準備が整いました。新しい Web サイトのディレクトリ構造を作成するには、次のコマンドを使用します。 [root@testvm1 html]# mkdir -p /var/www/html2 2 番目のサイトは、最初のサイトと同じ /var/www ディレクトリにある 2 番目の html ディレクトリであることに注意してください。 次に、次の内容を含む新しいインデックス ファイル <h1>Hello World -- 再び</h1> ウェブサイト2。 2 番目のサイトの httpd.conf に新しい構成セクションを作成し、それを以前の仮想ホスト構成セクションの下に配置します (2 つは非常によく似ているはずです)。このセクションでは、Web サーバーに 2 番目のサイトの HTML ファイルの場所を指示します。 <仮想ホスト 127.0.0.1:80> ドキュメントルート /var/www/html2 サーバー名 www.site2.org </仮想ホスト> HTTPD を再起動し、Lynx を使用して結果を表示します。 [root@testvm1 httpd]# systemctl httpdを再起動します [root@testvm1 httpd]# lynx www.site2.org こんにちは世界 -- 再び ウェブサイト2。 <中略> コマンド: 矢印キーで移動し、'?' でヘルプを表示し、'q' で終了し、'<-' で戻ります。 矢印キー: 上下に移動。右でリンクをたどり、左で戻ります。 ヘルプ オプション 印刷 移動 メイン画面 質問 /=検索 [削除]=履歴リスト ここでは、このスペースに収まるように出力を圧縮しました。ページの違いから、これが 2 番目のサイトであることがわかります。 2 つのサイトを同時に表示するには、別のターミナル セッションを開き、Lynx Web ブラウザーを使用して他のサイトを表示します。 その他の考慮事項 この簡単な例では、Apache HTTPD サーバーの単一インスタンスを使用して 2 つのサイトを処理する方法を示します。他の要素を考慮すると、仮想ホストの構成は少し複雑になる可能性があります。 たとえば、これらのサイトの 1 つまたはすべてに CGI スクリプトを使用する必要がある場合があります。これを行うには、/var/www ディレクトリの下に、HTML ディレクトリと一致する名前の CGI プログラム用のディレクトリ ( Apache の Web サイトでは、複数のサイトを管理するための他の方法や、パフォーマンス チューニングからセキュリティに至るまでの構成オプションについて説明しています。 Apache は、シンプルな Web サイトから非常に複雑な Web サイトまでをホストできる強力な Web サーバーです。全体的な市場シェアは縮小しているものの、依然としてインターネット上で最も一般的に使用されている HTTPD サーバーです。 以下もご興味があるかもしれません:
|
<<: JavaScript が Jingdong のカルーセル効果を模倣
>>: JavaScript ベースのランダム点呼システムの実装
sftp は、安全なファイル転送プロトコルである Secure File Transfer Prot...
誰もが自分の Web ページの背景にふさわしい画像を見つけることに悩むことが多いと思います。これは事...
私が使用している VMware Workstation Pro のバージョンは次のとおりです。 1....
Navicat を使用してリモート Linux MySQL データベースに接続すると、不明なエラー ...
最近、WeChatアプレットを書いていたとき、WeChatアプレットではすべてのリクエストインターフ...
目次序文1. Linux は yum ソースを変更します (MYSQL のインストールが遅い場合は試...
コードを見てみましょう:コードをコピーコードは次のとおりです。 < !DOCTYPE html...
1. HttpとHttpsの違いHTTP: インターネットで最も広く使用されているネットワーク プロ...
目次1. はじめに2. インストール3. 基本的な使い方3.1、-rパラメータ3.2、-aパラメータ...
フレックス レイアウトは現在よく使用されるレイアウト方法ですが、場合によっては小さな問題が発生するこ...
JSXとは何かJSX は Javascript の構文拡張であり、JSX = Javascript ...
他の人のウェブページを保存して見たことがあると思いますが、特にdwで開くと、多くのウェブページに&l...
CSS 位置position 属性は、要素の配置タイプを指定します。位置プロパティには 5 つの値が...
NGINX の全体的なアーキテクチャは、連携して動作する一連のプロセスによって特徴付けられます。メイ...
実際には、N 秒後にページを自動的にジャンプさせるにはどうすればよいかという問題によく遭遇します。私...