【问题标题】:Hosting two domains using only one VPS? [closed]只使用一个 VPS 托管两个域? [关闭]
【发布时间】:2011-06-16 02:21:19
【问题描述】:

有可能吗?有人告诉我是,但我不确定。

如果可能,我应该怎么做?我的网站所在的位置有一个 /www 文件夹。如何配置 2 个不同的站点?

【问题讨论】:

  • 不是真正的编程问题,属于网站管理员网站。但是,简而言之,是的,您可以,除非您的 VPS 合同禁止这样做。
  • 是的,是某种灰色地带,
  • 我投票结束这个问题,因为它不是一个编程问题,而且它在 Stack Overflow 上是题外话。应在Webmasters 上询问有关您网站的非编程问题。以后,请在那里提出这样的问题。

标签: hosting dns vps


【解决方案1】:

程序是:

  1. 将两个域都指向 VPS 的 ip。

  2. 配置您在 VPS 上安装的网络服务器以响应这两个域。

对于带有Passenger的Nginx,只需将条目添加到您的nginx.conf文件中。像这样:

server {
      listen 80;
      server_name domain1;
      root /path/to/your/project;
      passenger_enabled on;
   } 
server {
      listen 80;
      server_name domain2;
      root /path/to/your/project;
      passenger_enabled on;
   }

检查您的网络服务器文档以执行类似操作。

【讨论】:

  • 感谢您的回答,我使用 Apache 作为网络服务器,有什么想法可以实现吗?如果没有,任何链接?,我用谷歌搜索,但到目前为止没有运气。
  • 我从未在生产中使用过 Apache,但我找到了这个链接:httpd.apache.org/docs/2.0/vhosts/examples.html
  • 如果两个主机名的 DNS 解析产生相同的 IP 地址,并且请求到达相同的 IP 地址和端口号,那么 Web 服务器如何为两个域提供正确的站点?答案在 HTTP“Host:”标头中。根据请求中的“Host:”标头,网络服务器将选择正确的网站进行服务。
【解决方案2】:

这始终是可能的...您始终可以在您的 VPS 上使用一个或两个 IP 地址来配置名称服务器。配置完成后,您可以开始使用这些名称服务器指向多个域。

在我的 VPS 上只有一个 IP 地址,但我在那里托管了 35 多个站点....

【讨论】:

  • 是的,但是如何将请求发送到 vps 上的不同端口?
【解决方案3】:

作为一个完整的初学者,我一直在尝试在一个 Apache VPS 上托管多个域。教程有太多的信息让我感到困惑。

下面我将针对初学者描述如何使用 Ubuntu 和 Apache 在一台 VPS 服务器上托管多个域。

重要提示!您需要使用 root 帐户来执行大多数操作。

重要提示!如果您之前尝试过对 apache 配置进行一些更改,请撤消它们。

创建虚拟主机

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

/home/apache/domain1

/home/apache/domain2

将 index.html 文件与任何文本放在每个文件夹中。

This is domain1
This is domain2

转到 /etc/apache2/sites-available 文件夹。

/etc/apache2/sites-available

创建文件域1

sudo nano domain1

<VirtualHost *:80>
DocumentRoot /home/apache/domain1
ServerName domain1.com
ServerAlias www.domain1.com
</VirtualHost>

创建文件域2

sudo nano domain2

<VirtualHost *:80>
DocumentRoot /home/apache/domain2
ServerName domain2.com
ServerAlias www.domain2.com
</VirtualHost>

你可以用同样的方式创建子域。

sudo nano blog

<VirtualHost *:80>
DocumentRoot /home/apache/blog
ServerName blog.domain.com
ServerAlias www.blog.domain.com
</VirtualHost>

启用创建的网站

sudo a2ensite domain1
sudo a2ensite domain2

重启apache

sudo service apache2 reload

将域重定向到服务器

仅当您将域名重定向到服务器 IP 时,创建的 VirtualHosts 才会起作用。域名只是可以转换为 IP 号码的名称。

本地计算机

要在本地机器上测试您的配置,您需要编辑 hosts 文件。

sudo nano /etc/hosts

它应该看起来像这样。

127.0.0.1       localhost domain1.com domain2.com

Hosts 文件告诉您的计算机需要将域重定向到本地计算机。

重要提示!如果您在 hosts 文件中为现有域创建条目,例如

127.0.0.1       stackoverflow.com

您将无法访问此网站。

服务器

为了将域重定向到您的 Web 服务器,您需要为给定域创建或修改“A”型 DNS 记录到您服务器的 IP 地址。您可以通过您的域名注册商提供的面板控制来完成。

如果您不知道服务器的 IP 地址,请登录该服务器并输入命令行:

ifconfig

【讨论】:

  • 在可用站点中创建时,它们具有扩展名 .conf 因此而不是 sudo nano domain1 它应该是 sudo nano domain1.conf .. 或者如果您已经使用 mv 创建了文件,请重命名该文件
  • 另外,当指定 DocumentRoot 时,路径应该是一个字符串。 “/home/apache/blog”而不是/home/apache/blog
  • 对于扩展和“站点 X 不存在”错误,检查:stackoverflow.com/a/20592059/1259865
  • 对于403禁止错误,检查:digitalocean.com/community/questions/…
猜你喜欢
  • 2013-01-21
  • 2012-09-21
  • 2012-10-28
  • 2010-10-08
  • 2013-01-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-09-11
相关资源
最近更新 更多