1 台服务器上有 2 个域名

1 台服务器上有 2 个域名

我正在运行 Debian 并且没有控制面板或任何东西。

现在,我只是将我的域指向服务器 IP,并且它会转到根目录,但我希望添加另一个域,那么我该怎么做呢?

我会将新内容指向 IP,但是我该如何让它指向不同的目录呢?

答案1

假设您正在谈论配置 HTTP 服务器,并且它是 Apache,在 Debian 中,VirtualHosts 在目录中进行管理/etc/www/apache2/sites-available。您可以在此处创建一个文本文件,使用您想要的任何名称(最好使用与您要配置的域相同的名称)。

假设您有 site1.com。您创建/etc/www/apache2/sites-available/site1.com包含以下内容的文件:

<VirtualHost *:80>
  ServerName  site1.com
  ServerAlias www.site1.com 

  DocumentRoot /var/www/site1.com

  <Directory />
    Options FollowSymLinks
    AllowOverride None
  </Directory>

  <Directory /var/www/sigma/html>
    Options FollowSymLinks MultiViews
    Order allow,deny
    allow from all
  </Directory>

  LogLevel warn
  CustomLog /var/log/apache2/site1.com/access.log combined
  ErrorLog  /var/log/apache2/site1.com/error.log

</virtualHost>

/etc/www/apache2/sites-enabled您可以像这样创建符号链接:

# cd /etc/www/apache2/sites-enabled
# ln -s ../sites-available/site1.com 000-site1.com

这将设置您的第一个虚拟服务器。如果您希望将此site2.com文件复制到以此新域命名的另一个虚拟服务器,并相应地更改参数:

  • 服务器名称
  • 服务器别名
  • 文档根目录
  • 目录
  • 自定义日志
  • 错误日志

创建正确的符号链接并重新加载 apache(/etc/init.d/apache2 reload

默认情况下,您将有一个文件/etc/apache2/sites-available/default,用于设置 apache 的默认虚拟主机。这仅仅是因为它首先作为 加载/etc/apache2/sites-enabled/000-default。它只是另一个虚拟主机。

就 DNS 记录而言,您只需将 site2.com 指向与 site1.com 指向的相同地址即可。

此配置选项还有更多内容,您可以阅读Apache HTTP 服务器官方文档

编辑:

cgi-bin 目录只是作为每个虚拟主机上的另一个指令来描述的。只需在 site1.com 配置文件中添加类似以下内容的内容:

ScriptAlias /cgi-bin/ /some/path/to/site1/cgi-bin

以及 site2.com 配置文件:

ScriptAlias /cgi-bin/ /some/path/to/site2/cgi-bin

或者您甚至可以为两台服务器共享同一个目录。有关在 Apache 上配置 CGI 的更多信息

答案2

我假设您使用 Apache 作为 Web 服务器。如果是这样,您希望实现虚拟主机 - 两个(或更多)域,一个 IP。

这里有一些不错的教程帮助您开始...

相关内容