仅使用一个VPS托管两个域名?

问题描述 投票:50回答:3

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

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

hosting dns vps
3个回答
47
投票

程序是:

  1. 将两个域指向VPS的ip。
  2. 配置您在VPS上安装的Web服务器以回答这两个域。

对于Nginx with Passenger,需要在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;
   }

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


51
投票

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

下面我为完整的初学者描述如何使用Ubuntu和Apache在一个VPS服务器上托管多个域。

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

重要!如果您之前尝试对apache配置进行一些更改,请将其撤消。

创建VirtualHosts

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

/home/apache/domain1

/home/apache/domain2

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

This is domain1
This is domain2

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

/etc/apache2/sites-available

创建文件domain1

sudo nano domain1

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

创建文件domain2

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时,创建的VirtualHost才会起作用。域只是可以转换为IP号的名称。

Local computer

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

sudo nano /etc/hosts

它看起来应该是这样的。

127.0.0.1       localhost domain1.com domain2.com

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

重要!例如,如果在主机文件中为现有域创建条目

127.0.0.1       stackoverflow.com

您将无法访问此网站。

Server

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

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

ifconfig

11
投票

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

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

© www.soinside.com 2019 - 2024. All rights reserved.