VirtualHost指的是Apache web服务器中的虚拟主机

学习中的Apache2.4虚拟主机,所以做了一些笔记。由于并没有实际输入命令,可能存在一些错误部分。

Apache的VirtualHost是什么?

虚拟主机是指在一台机器上处理两个或更多网站(例如company1.com和company2.com)的运作方法。
Apache虚拟主机说明书。

如果你有多个域名,比如example.com和example.net,并且想在不同的服务器上设置每个域名,那是很简单的。但是如果两个域名都没有太多访问量,那么建立新服务器的成本可能就不值得了吧?
这时候就轮到VirtualHost派上用场了。通过安装在一台服务器上的Apache,可以在多个域名上提供服务。

文档根目录所述

环境是CentOS 7,Apache 2.4.

/var/www/的sample_host_html文件夹应该创建好。
请将所创建文件夹的所有者更改为apache用户。

//追加信息
没有找到DocumentRoot
指可以允许客户端访问的目录,也就是可以直接从浏览器访问的文件所放置的位置。

创建VirtualHost的配置

假设主机名已设置为sample.host.jp。

touch sample.host.jp.conf

文件名似乎可以是任何的,但最好与主机名相匹配。
必须在文件扩展名上加上.conf。

最基本的设置 (Zuì de

<VirtualHost *:80>
  DocumentRoot /var/www/sample_host_html
  ServerName sample.host.jp
</VirtualHost>

重启Apache,并确认网站是否可见。完成。

总结起来

如果您打算使用多个域名来运营网站,那么可以使用VirtualHost。如果只使用单个域名,那么可能不需要使用它!但是考虑到将来可能会使用多个域名,还是记住它是不会有损失的。我想应该是这样的…!

我想要用一个IP地址处理多个域名!

有一种被称为ServerAlias的东西。

我知道服务器,但“Alias”是什么意思…?

别名【bié 】
别名是指本来具有”変名”、”別名”等含义的词语。

确实不太清楚。实际看一下就知道了。

<VirtualHost *:80>
  DocumentRoot /var/www/sample_host_html
  ServerName sample.host.jp
</VirtualHost>

你写过这个了吧?
但是如果在www.sample.host.jp上访问的话,我觉得会返回404(很可能)。

如果没有ServerAlias呢?

<VirtualHost *:80>
  DocumentRoot /var/www/sample_host_html
  ServerName sample.host.jp
</VirtualHost>

<VirtualHost *:80>
  DocumentRoot /var/www/sample_host_html
  ServerName www.sample.host.jp
</VirtualHost>

希望以更为精巧的方式表达

A:不行。听说如果这样做,Apache会返回错误。

如果同时写上www和不写www,可能会出错…
谁会想要写两个虚拟主机的设置呢?
这时就出现ServerAlias。

<VirtualHost *:80>
  DocumentRoot /var/www/sample_host_html
  ServerName sample.host.jp
  ServerAlias www.sample.host.jp
</VirtualHost>

在这里访问www.sample.host.jp时,将被视为对sample.host.jp名称的访问。这样做可以减少错误,非常方便呢…
需要注意的是在ServerName下方写入ServerAlias。
举个例子。

<VirtualHost *:80>
  DocumentRoot /var/www/sample_html
  ServerName sample.jp
  ServerAlias www.sample.jp www.sample.com
</VirtualHost>

可以用半角空格分隔的方式,像主机名一样来分隔主机名。

当然了

<VirtualHost *:80>
  DocumentRoot /var/www/sample_html
  ServerName sample.jp
  ServerAlias www.sample.jp
  ServerAlias www.sample.com
</VirtualHost>

即使用这种写法也可以

很方便!

原生中文重述:原来在虚拟主机方面有各种各样的支持啊。

基于名称的虚拟主机(一个IP地址上有多个网站)
基于IP的虚拟主机(每个网站有一个IP地址)
虚拟主机的常见配置示例
文件描述符限制(或者说是过多的日志文件)
大量虚拟主机的设置
虚拟主机匹配的详细信息
虚拟主机的支持

暂时让我们来看一下最前面的两个。

基于名称的虚拟主机(一个 IP 地址上有多个网站)。

名义主机和IP主机的比较

在基于IP的虚拟主机中,使用IP地址来确定连接到哪个虚拟主机进行响应。因此,每个主机都需要一个独立的IP地址。相比之下,基于名称的虚拟主机依赖于客户端在HTTP头部中告知主机名。通过这种技术,可以在不同的多个主机上共享相同的IP地址。
名称和IP基础虚拟主机的比较。

基于IP的虚拟主机(每个网站都有一个IP地址)

系统需求

根据IP基本的名称,每个IP基本虚拟主机需要一个单独的IP地址。可以通过准备具有多个物理连接的机器或使用最近操作系统支持的虚拟接口(请参阅系统说明书的详细信息,通常称为“ip别名”,并使用常规“ifconfig”命令进行配置)来实现。

总结

如果基于IP,每个主机都需要一个独立的IP地址。
简而言之,每个网站都需要一个IP地址。

如果采用基于名称的方法,在DNS中设置主机名及其对应的IP地址,就不需要多个IP地址。
通过设置DNS,应该可以在一个IP地址上运行多个网站。是吧?

我会写下各种引起我的关注的事情。

気になったのざっくりした説明CustomLogアクセスログErrorLogエラーログAddHandlerCGIスクリプトを使用するかしないかAllowOverride.htaccessによる設定変更を有効にするかどうかIfModuleモジュールが存在する時に処理されるRewriteEngineRewriteEngineをONにするかOFFにするかRemoveHnadlerファイル拡張子に関連付けされたハンドラをすべて解除するRewriteCond書き換えの条件を指定する。条件に一致したときだけ書き換えRewriteRule書き換えのルール。パターンに一致した値を置換する

不太了解Directory和DocumentRoot有什么区别!!

指示

我认为可以将它解释为每个“设置项目(设置名称)”,虽然严格来说并不准确(虽然被说是不准确的)。例如,指定服务器根目录的部分被称为“ServerRoot指令”,指定Apache监听连接的端口号的部分被称为“Listen指令”。
也许不难Apache2·初始设置第一部分~不要动!~

文档根目录

「ドキュメントルート」とは、実際に外部に公開されるHTMLファイルや画像ファイルなどのドキュメントデータを保存しているディレクトリの上位ディレクトリのことを指します。

例えば、「ドキュメントルート」が/var/www/htmlに設定されている場合、ttp://server/index.htmlにアクセスがあった場合、提供されるファイルは通常/var/www/html/index.htmlとなり、ttp://server/directoryA/page.htmlの場合は/var/www/html/directoryA/page.htmlとなります。

おそらく簡単ではないですが、Apache2の初期設定に関して-触ることは禁止です!-

目录

使用”Directory”指令可以描述对根目录的指定。需要将其与”/Directory”配对使用,这两个指令将影响被它们包围的范围内的指定目录以及子目录。可能不难 巨頭!簡單介紹Apache2的初始設定之一~不要碰!~

我对这个有点模糊,但具体的区别是什么呢?
我还没有完全理解。

又有新的令人关注的事物出现了。

気になったのざっくりした説明Allow fromアクセス許可Deny fromアクセス不許可Order同一のディレクトリに対してDenyとAllowと両方を組み合わせてアクセス制御をする場合

备忘录 lù)

重新整理一下[Apache]的配置选项Options和AllowOverRide的值

bannerAds