Хостинг двух доменов с использованием только одного VPS?

Является ли это возможным? Кто-то сказал мне, что это так, но я не уверен.

Если это возможно, как мне это сделать? У меня есть одна папка /www, где лежит мой сайт. Как настроить 2 разных сайта?


person Artemix    schedule 26.01.2011    source источник
comment
Не совсем вопрос программирования, принадлежит сайту веб-мастеров. Но, короче говоря, да, вы можете, если только ваш контракт VPS не запрещает это.   -  person Marc B    schedule 26.01.2011
comment
Да, это какая-то серая зона,   -  person Artemix    schedule 27.01.2011


Ответы (3)


Процедура такова:

  1. Направьте оба домена на ip VPS.

  2. Настройте веб-сервер, установленный на вашем VPS, чтобы он отвечал на эти два домена.

В случае Nginx с 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;
   }

Проверьте документацию вашего веб-сервера, чтобы сделать то же самое.

person Nerian    schedule 26.01.2011
comment
Спасибо за ваш ответ, я использую Apache в качестве веб-сервера, есть идеи, как я могу это сделать? Если нет, какие-либо ссылки? Я гуглил, но пока безуспешно. - person Artemix; 27.01.2011
comment
Я никогда не использовал Apache в производственной среде, но нашел эту ссылку: http://httpd.apache.org/docs/2.0/vhosts/examples.html - person Nerian; 27.01.2011
comment
Если разрешение DNS для обоих имен хостов приводит к одному и тому же IP-адресу и если запросы поступают на один и тот же IP-адрес и номер порта, как веб-сервер обслуживает правильные сайты для двух доменов? Ответ находится в заголовке HTTP Host:. На основе заголовка Host: из запроса веб-сервер выберет правильный веб-сайт для обслуживания. - person MediumOne; 25.12.2020

Как новичок, я пытался разместить несколько доменов на одном Apache VPS. В учебниках было слишком много информации, которая приводила меня в замешательство.

Ниже я опишу для начинающих, как разместить несколько доменов на одном VPS-сервере с Ubuntu и Apache.

ВАЖНО! Для выполнения большинства операций необходимо использовать учетную запись 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

Перезапустите апач

sudo service apache2 reload

Перенаправление домена на сервер

Созданные виртуальные хосты будут работать только в том случае, если вы перенаправите свое доменное имя на IP-адрес сервера. Домены — это просто имена, которые можно преобразовать в IP-номера.

Локальный компьютер

Чтобы проверить вашу конфигурацию на локальном компьютере, вам нужно отредактировать файл hosts.

sudo nano /etc/hosts

Это должно выглядеть так.

127.0.0.1       localhost domain1.com domain2.com

Файл hosts сообщает вашему компьютеру, что домен необходимо перенаправить на локальный компьютер.

ВАЖНО! Если вы создаете запись в файле hosts для существующего домена, например

127.0.0.1       stackoverflow.com

вы потеряете доступ к этому веб-сайту.

Сервер

Чтобы перенаправить домен на ваш веб-сервер, вам необходимо создать или изменить DNS-запись типа «А» для данного домена на IP-адрес вашего сервера. Вы можете сделать это с помощью панели управления, предоставленной вашим регистратором домена.

Если вы не знаете IP-адрес своего сервера, войдите на этот сервер и введите в командной строке:

ifconfig
person Rafal    schedule 29.09.2012
comment
При создании на сайтах они имеют расширение .conf, поэтому вместо sudo nano domain1 должно быть sudo nano domain1.conf.. или переименуйте файл, если вы уже создали его с помощью mv - person george rizk; 09.03.2016
comment
также при указании DocumentRoot путь должен быть строкой. /home/apache/blog вместо /home/apache/blog - person george rizk; 09.03.2016
comment
для расширений и ошибок Site X не существует, проверьте: stackoverflow.com/a/20592059/1259865 - person Asqan; 14.12.2019
comment
для запрещенной ошибки 403 проверьте: digitalocean.com/community/questions/ - person Asqan; 14.12.2019

Это всегда возможно... Вы всегда можете настроить серверы имен, используя один или два ip-адреса на вашем VPS. После настройки вы можете начать указывать несколько доменов, используя эти серверы имен.

На моем VPS всего один IP адрес, но я там размещаю 35+ сайтов....

person AccuWebHosting.Com    schedule 11.01.2012
comment
да, но как вы отправляете запросы на разные порты на vps? - person Blub; 09.02.2015