多个 IP 地址上的多个虚拟主机

多个 IP 地址上的多个虚拟主机

可能重复:
多个 IP 地址上的多个虚拟主机

我正在运行 Ubuntu 11.10,我的 VPS(Linode)分配了两个 IP 地址。

我已按照他们的指南启用静态地址(可以在这里找到:http://www.linode.com/wiki/index.php/Configure_Static_IPs

目前的情况是,我在那个 Linode 上有 3 个网站,我想设置它们,这样 site1 和 site2 将使用 IP1,而 site3 将使用 IP3

/etc/apache2/sites-available/site1.com

<VirtualHost 1.1.1.1:80>

  # Admin email, Server Name (domain name) and any aliases
  ServerAdmin [email protected]
  ServerName  site1.com
  ServerAlias www.site1.com


  # Index file and Document Root (where the public files are located)
  DirectoryIndex index.html index.php
  DocumentRoot /home/site1/public_html


  # Custom log file locations
  LogLevel warn
  ErrorLog  /home/site1/public_html/log/error.log
  CustomLog /home/site1/public_html/log/access.log combined

</VirtualHost>

/etc/apache2/sites-available/site2.com

<VirtualHost 1.1.1.1:80>

  # Admin email, Server Name (domain name) and any aliases
  ServerAdmin [email protected]
  ServerName  site2.com
  ServerAlias www.site2.com


  # Index file and Document Root (where the public files are located)
  DirectoryIndex index.html index.php
  DocumentRoot /home/site2/public_html


  # Custom log file locations
  LogLevel warn
  ErrorLog  /home/site2/public_html/log/error.log
  CustomLog /home/site2/public_html/log/access.log combined

</VirtualHost>

/etc/apache2/sites-available/site3.com

<VirtualHost 2.2.2.2:80>

  # Admin email, Server Name (domain name) and any aliases
  ServerAdmin [email protected]
  ServerName  site3.com
  ServerAlias www.site3.com


  # Index file and Document Root (where the public files are located)
  DirectoryIndex index.html index.php
  DocumentRoot /home/site3/public_html


  # Custom log file locations
  LogLevel warn
  ErrorLog  /home/site3/public_html/log/error.log
  CustomLog /home/site3/public_html/log/access.log combined

</VirtualHost>

ports.conf 的相关摘录:

NameVirtualHost 1.1.1.1:80
NameVirtualHost 2.2.2.2:80
Listen 1.1.1.1:80
Listen 2.2.2.2:80

问题是,我在所有三个网站上都获取了 site1 的内容。我不知道为什么会发生这种情况。您能帮忙吗?

注意:我已经为所有 3 个网站运行了 a2ensite,启动 apache2 服务时没有出现任何错误/警告。

答案1

假设您的配置与上述配置一致,那就完美了。但是请确保您已启用放入 sites-available 中的所有站点,例如a2ensite site3.com。该命令的作用是从 sites-available 中的文件创建到 sites-enabled 的符号链接。Ubuntu 上的 Apache 默认配置为解析 sites-enabled 中的任何内容,但不解析 sites-available 中的任何内容;sites-available 只是一个存储库。

另请确保您没有在 VirtualHost 指令的任何地方使用 *:80。

如果以上操作均失败,请运行apache2ctl -t -D DUMP_VHOSTS并查看您的活动 VirtualHosts 是什么。在此处发布输出。

相关内容