ホームページ > バックエンド開発 > PHPチュートリアル > apache2.2仮想ホスト構成の詳細説明、apache2.2_PHPチュートリアルの詳細説明

apache2.2仮想ホスト構成の詳細説明、apache2.2_PHPチュートリアルの詳細説明

WBOY
リリース: 2016-07-12 09:04:34
オリジナル
755 人が閲覧しました

apache2.2仮想ホスト設定詳細説明、apache2.2詳細説明

1. httpd.confを変更します。

appserv インストール ディレクトリを開き、httpd.conf ファイルを見つけて、次の 2 行のテキストの前にある # 記号を削除します。

リーリー

# を削除することは、Apache の仮想ホスト機能を有効にすることを意味します。

リーリー

この行の # を削除することは、ファイル conf/extra/httpd-vhosts.conf から仮想ホスト構成をインポートすることを意味します

2. httpd-vhosts.confを変更します

ファイルを開くと、次のような内容が表示されます。仮想ホストの構成も以下の内容に従って構成されます。この内容については以下で説明します

リーリー

名前仮想ホスト *:80

注 1: NameVirtualHost は、仮想ホストによって使用される IP アドレスまたはドメイン名を指定しますが、IP アドレスを使用するのが最善です。 NameVirtualHost は、ドメイン名ベースの仮想ホストを使用する場合に必要なディレクティブです。複数の NameVirtualHost を定義できます。注 2: NameVirtualHost または タグ定義に一致するすべてのリクエストは仮想ホストとして処理され、メイン サーバーはそれを無視します。 NameVirtualHost が定義されているが、 タグが定義されていないリクエストの場合、サーバーは対応する仮想ホストを見つけることができず、それを処理できません。したがって、NameVirtualHost で定義された各パラメータは、少なくとも 1 つの と一致する必要があります。 注 3: NameVirtualHost または を *:80 に設定すると、ポート 80 に対するすべてのリクエストが仮想ホストによって処理され、リクエストはドメイン名に基づいて特定の仮想ホストに送信されます。ポート 80 からの要求があり、要求されたドメイン名が仮想ホストとして構成されていない場合、最初の仮想ホストを指します。このようにすると、メインサーバーはポート 80 からリクエストを受信できなくなります。この目的のために、メイン サーバーに対して仮想ホストも構成する必要があります。

ServerAdmin 管理者のメールアドレス

DocumentRoot Web サイト ディレクトリ (注: Web サイト ディレクトリのパスにスペースが含まれる場合は、パスの両端に二重引用符を追加してください)

ServerName バインドするドメイン名 (必須)

ServerAlias バインドする仮想ホストのエイリアス。 (オプション。複数のドメイン名がある場合は、スペースで区切ります。そうでない場合は、行を削除します)

*.abc.com などの * および ? ワイルドカードをサポートします。これは、abc.com の任意の第 2 レベルのドメイン名にアクセスできることを意味します。

CustomLog ユーザー ログ ファイル (オプション、不要な場合はこの行を削除します)

ErrorLog エラー ログ (オプション、不要な場合はこの行を削除します)

IPアドレスベースの仮想ホスティング

リーリー

リーリー

各仮想ホストはスペースで区切って複数の IP を定義できます

さまざまな仮想ホストの混合使用

リーリー

混合仮想ホスト使用時の問題

1. 仮想ホストの混合使用は次のように理解できます。NameVirtualHost 命令の行によって定義されるすべての仮想ホストはグループであり、このグループは IP ベースの仮想ホストと同じレベルにあります。つまり、NameVirtualHost の行で定義されるグループ全体が IP ベースの仮想ホストとみなされます。 2. 仮想ホストによって指定されたポートは、Listen によって定義されている必要があります。仮想ホストでポートが指定されていない場合は、ポート 80 とみなされます。 NameVirtualHost * がこのように定義されている場合、すべてのアドレスに対して定義されているすべてのポートを参照します。 3. より具体的なアドレス定義が優先されます。たとえば、NameVirtualHost ディレクティブは *:80 を定義し、IP ベースの仮想ホストは 192.168.0.1:80 として定義されます。この時点で 192.168.0.1:80 に対するリクエストは 192.168 に送信されます。最初に 0.1:80 の仮想ホストを定義しました。したがって、混乱を避けるために、重複するアドレス範囲や相互に含まれるアドレス範囲を定義しないでください。 4. 仮想ホストは、ドメイン名ベースと IP ベースの両方にすることができます。前の例の最後の仮想ホストと同様です。このようにして、両方の定義を満たすリクエストは同じ仮想ホストに送信されます。内部ネットワークからのリクエストは外部ネットワークからのリクエストと異なる可能性がありますが、同じ仮想ホストを指す必要があるため、仮想ホストへの内部ネットワーク アクセスと外部ネットワーク アクセスを区別するときにこれを行うことができる場合があります。

「_default_」仮想ホストを使用します

この仮想ホストは、IP ベースの仮想ホストとして理解できます

リーリー

この仮想ホストは、他の仮想ホストの IP とポートに一致しないリクエストを引き継ぎます。ただし、この場合、メインサーバーはリクエストを処理しません。したがって、メインサーバーを仮想ホストとして構成する必要があります。

他のマシン上で実行されているローカルマシンプロキシ仮想ホスト

リーリー

一、首先这是一个基于IP的虚拟主机,它接收并处理对IP地址158.29.33.248的请求。 二、ProxyPass /foo http://192.168.111.2 将把对http://158.29.33.248/foo的请求转换为一个代理请求,该请求指向http://192.168.111.2。 三、ProxyPass /foo/no ! 不代理针对/foo/no的请求。这个必须放在正常代理指令之前。 四、ProxyPreserveHost On 意思是传送原始请求的Host信息给被代理的机器。 五、ProxyPassReverse /foo http://192.168.111.2 可以保证请求URL在其它机器上被重定向后,本机处理时也可以保持一致。具体看手册关于反向代理的部分。 六、基于域名的虚拟主机也是同样的道理。不管是什么类型的虚拟主机,它只是处理归它处理的请求而已。

 

配置实例

需求1:

这是一个基于IP的虚拟主机使用实例

一个项目数据应用,为了防止由于域名解析问题导致不能正常访问,因此采用IP的方式访问接口。比如:http://61.122.3.6:8080/ 这样的方式。虚拟主机的配置如下:

1、在httpd.conf中Listen 80下面增加一行,内容为:Listen 8080,即监听8080端口

2、配置虚拟主机配置

 

#NameVirtualHost 61.122.3.6:8080 这一行可以不需要。经测试,基于IP地址的虚拟主机可不用设置NameVirtualHost项。  
<VirtualHost 61.122.3.6:8080>  
    ServerAdmin webmaster@dummy-host.www.phpStudy.net  
    DocumentRoot "d:/web/openj"  
</VirtualHost>  
ログイン後にコピー

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/1072328.htmlTechArticleapache2.2 虚拟主机配置详解,apache2.2详解 一、修改httpd.conf 打开appserv的安装目录,找到httpd.conf文件,分别去掉下面两行文字前面的#号。 #...
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート