Apache2 使用Apache的VPS上的多个域

Apache2 使用Apache的VPS上的多个域,apache2,vps,vhosts,Apache2,Vps,Vhosts,我计划很快得到一个VPS和有两个网站,我想主机。我已经为我的开发环境设置了本地vhosts,使用主机文件正确地移植它 我的问题很简单:当设置两个指向一个VPS服务器的独立域时,Apache是否足够聪明,就像在本地环境中一样,能够像在本地一样自动将对domain.com的任何请求过滤到正确的VHOST?我只想确定:) 谢谢 我所问问题的示例: 假设Domain1.com和Domain2.com都在我的VPS上 当有人请求www.Domain1.com时,apache会看到这一点,并将其传递给Dom

我计划很快得到一个VPS和有两个网站,我想主机。我已经为我的开发环境设置了本地vhosts,使用主机文件正确地移植它

我的问题很简单:当设置两个指向一个VPS服务器的独立域时,Apache是否足够聪明,就像在本地环境中一样,能够像在本地一样自动将对domain.com的任何请求过滤到正确的VHOST?我只想确定:)

谢谢

我所问问题的示例:

假设Domain1.com和Domain2.com都在我的VPS上

当有人请求www.Domain1.com时,apache会看到这一点,并将其传递给Domain1.com vhost文件。
当有人请求www.Domain2.com时,apache会看到这一点,并将其传递到Domain2.com vhost文件。

简单的答案是“是”,apache就是这么聪明。如果您习惯于将本地vhost文件与主机文件结合使用来模拟本地域,则完全相同的技术可以应用于VPS。处理hosts文件的部分实质上是创建一个本地名称服务器,而Apache不知道其中的区别。只需为每个命名vhost设置ServerName指令,您就会发现它的工作原理与本地相同。

从这里重新绘制我的答案,因为它更相关

作为一个完全的初学者,我一直在尝试在一个ApacheVPS上托管多个域。教程中的信息太多,使我感到困惑

下面我将向初学者介绍如何使用Ubuntu和Apache在一台VPS服务器上托管多个域

重要您需要使用根帐户来执行大多数操作

重要如果您以前一直试图对apache配置进行一些更改,请撤消这些更改

创建虚拟主机 在服务器上为您的域创建文件夹。 例如:

/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>
重新启动apache

sudo service apache2 reload
将域重定向到服务器 仅当您将域名重定向到服务器IP时,创建的虚拟主机才会起作用。域只是可以转换为IP号码的名称

本地计算机 要在本地计算机上测试配置,需要编辑主机文件

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

伟大的谢谢你帮我确认。
127.0.0.1       localhost domain1.com domain2.com
127.0.0.1       stackoverflow.com
ifconfig