скидка 50% все планы, время ограничено. Начиная с $2.48/mo
осталось 13 минут
Веб-приложения и бизнес-приложения

Размещение нескольких веб-сайтов на одном сервере (Apache и IIS)🌐

Лили Карнелл By Лили Карнелл 13 минут чтения Обновлено 18 сентября 2023 г.
Размещение нескольких веб-сайтов на одном сервере (Apache и IIS)🌐

Получив доступ к онлайн-хостингу, вы, вероятно, захотите узнать, как разместить несколько веб-сайтов на одном сервере. Хотя это может показаться сложным, но когда вы узнаете больше об этом предмете, вы поймете, что можете сделать это с помощью технических руководств.

Различные веб-серверы могут предоставить вам бесплатные услуги с открытым исходным кодом, широко используемые по всему миру. Однако, прежде чем мы объясним, как разместить несколько веб-сайтов на одном сервере, мы должны знать, что такое веб-сервер и как он работает.

Оглавление

Что такое веб-сервер?

Веб-сервер хранит и предоставляет контент, такой как текст, изображения, видео и данные приложений, для веб-сайта. Другими словами, клиенты, запрашивающие этот контент, могут использовать его с помощью веб-серверов. Одним из наиболее типичных клиентов является программа веб-браузера, которая запрашивает данные с вашего веб-сайта, когда пользователь нажимает на ссылку или загружает файл.

Веб-сервер взаимодействует через Протокол передачи гипертекста (HTTP) с веб-браузером. Содержимое большинства веб-страниц закодировано с помощью языка гипертекстовой разметки (HTML). Содержимое может быть статическим, например текст и изображения, или динамическим, например список товаров, которые покупатель отметил для покупки. Большинство веб-серверов поддерживают серверные сценарии языки для кодирования бизнес-логики в коммуникации для предоставления динамического контента. Обычно поддерживаются такие языки, как Active Server Pages (ASP), JavaScript, PHP, Python и Ruby.

Как работает веб-сервер?

Веб-серверы работают на основе клиент-сервер модель. В этой стандартной структуре клиент запрашивает ресурс или услугу у сервер.

Веб-серверы выполняют несколько шагов для обработки запросов веб-клиентов:

  1. Когда пользователь хочет загрузить контент на веб-сайт, веб-браузер запрашивает доступ (HTTP-запрос) через Интернет.
  2. Веб-браузер выполняет поиск IP-адреса запрошенного веб-сайта. Он переводит URL-адрес веб-страниц, используя Система доменных имен (DNS) или поиск в его кеше. Этот процесс поможет вам найти веб-сервер; именно здесь размещаются файлы сайта.
  3. На этом этапе веб-сервер получает HTTP-запрос и обрабатывает его через свой HTTP-сервер.
  4. Как только его HTTP-сервер примет запрос, он выполнит поиск в файлах сервера для получения соответствующих данных.
  5. Веб-сервер возвращает файлы сайта браузеру, отправившему запрос. После этого пользователь видит содержимое сайта.

Однако обратите внимание: если HTTP-серверу не удастся найти или обработать запрошенные файлы, вы увидите сообщение об ошибке в веб-браузере. Теперь, когда вы знакомы с основными концепциями веб-серверов, вы можете легко научиться размещать несколько веб-серверов на одном сервере. 

Размещение нескольких веб-сайтов на одном сервере: Apache

Если вы хотите разместить на сервере более одного сайта, вам следует использовать файлы виртуального хоста Apache, чтобы указать, какой из доменов необходимо использовать. Один из методов, используемых для разрешения запросов сайта, называется Виртуальные хосты на основе имени. Когда кто-то просматривает ваш сайт, запрос поступает на сервер, который определяет, какие файлы сайта следует обслуживать, на основе имени домена. Этот метод позволит вам разместить несколько сайтов на одном сервере с одним и тем же IP-адресом. В этой статье руководства объясняется, как настроить файл виртуального хоста для каждого из ваших доменов. Прежде чем мы перейдем к более подробной информации, помните, что вы должны войти в систему как учетная запись root.

Читайте также:Linux или Windows-хостинг: какой из них лучше для вас?

Шаг 1. Создайте каталог для каждого сайта

Сначала установите apache2 с помощью этой команды

Для систем на базе Debian

apt install apache2 -y

Для базовой системы CentOS

yum install apache2 -y

Вам необходимо создать каталог для каждого сайта, который вы будете размещать. (в папке /var/www). В качестве доменных имен рассмотрите домены domain.com и domain2.com.

mkdir -p /var/www/domain.com/public_html
mkdir -p /var/www/domain2.com/public_html

Шаг 2. Установите разрешения для папки

chmod -R 755 /var/www

Шаг 3. Настройка индексной страницы

Чтобы увидеть домашнюю страницу, вы должны убедиться, что index.html файл создается для каждого домена. Вы можете установить что-то простое, например тестирование для домена.com в этом файле.

vim /var/www/domain.com/public_html/index.html

тестирование для домена.com

Теперь вы должны сохранить и прекратить использование Побег кнопка и ввод текста: вк

Вы можете использовать команду ниже, чтобы повторить все эти шаги для вашего второго домена.

vim /var/www/domain2.com/public_html/index.html

Шаг 4. Копирование файла конфигурации для каждого сайта

Вы должны скопировать файл конфигурации по умолчанию для каждого сайта, гарантируя, что у вас всегда будет копия по умолчанию для будущего создания сайта.

cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/domain.com.conf
cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/domain2.com.conf

Шаг 5. Редактирование файла конфигурации для каждого сайта

По крайней мере, вы измените и добавите выделенные строки в <Виртуальныйхост *:80> и Теги </VirtualHost>.

Обратите внимание, что Сервералиас — альтернативное имя вашего домена; в этом и большинстве случаев вы ставите www перед доменным именем, чтобы другие могли видеть сайт либо с www, либо без www (ИмяСервера).

vim /etc/apache2/sites-available/domain.com.conf

Информация о сайте
Информация о сайте

Снова выйдите и сохраните, используя wq. Вам придется повторить этот процесс для вашего domain2.com.conf файл; обязательно обновите ИмяСервера, Сервералиас, и DocumentRoot для вашего второго домена.

Читайте также:Апач против NGINX

 Шаг 6. Включите файл конфигурации

По умолчанию ваш сервер настроен на чтение файла 000-default.conf. Но на предыдущем шаге мы создали новый файл конфигурации для каждого домена. Итак, нам нужно будет отключить файл по умолчанию и использовать тот, который подходит для нового файла конфигурации.

a2dissite 000-default.conf

Вы можете сопоставить свой сервер с вашими доменами, включив каждый из ваших новых файлов .conf.

a2ensite domain.com.conf
a2ensite domain2.com.conf

Теперь давайте перезапустим Apache, чтобы зарегистрировать внесенные в него изменения.

systemctl restart apache2

Шаг 7. Проверка конфигураций Apache

После запуска Apache вы можете увидеть, что конфигурации работают, отредактировав ваш /etc/хост-файл на вашем компьютере или DNS вашего домена.

После настройки каждого аспекта вы можете посетить свой веб-сайт в браузере и просмотреть страницы index.html, созданные на шаге 3.

Также читайте: Локальная версия или облако

Размещение нескольких веб-сайтов на одном сервере: IIS

Мы можем использовать веб-сервер IIS (Internet Information Services) для десятков или даже сотен веб-сайтов. Вы можете разместить на нем несколько веб-сайтов, прослушивая и отвечая на одном и том же TCP-порт. Но в интерфейсе диспетчера IIS отображается, что вы можете разместить другой веб-сайт, не привязывая его к какому-либо другому порту, например 8080. В этом разделе объясняется, как разместить несколько веб-сайтов на одном сервере IIS и привязать их к одному и тому же порту и IP-адресу или даже к разным IP-адресам.

Как установить IIS на сервер Windows?

При установке IIS в Windows создается пустой веб-сайт по умолчанию, который прослушивает стандартный веб-порт HTTP – TCP 80. Технически наш сайт привязан к порту TCP/80. Мы должны ввести имя сервера IIS («http://web-srv1») или его IP-адрес («http://192.168.1.100») в вашем браузере, чтобы открыть этот сайт.

Шаг 1. Привязка веб-сайта IIS 

Веб-сервер IIS, работающий на Windows Server, может помочь вам разместить несколько веб-сайтов. Но IIS правильно распределяет HTTP-запросы только в том случае, если каждый веб-сайт должен быть идентифицирован уникальным значением. Веб-сайт IIS включает три атрибута, которые составляют уникальную комбинацию для каждого веб-сайта. Эти атрибуты перечислены здесь:

  • номер TCP-порта
  • IP-адрес
  • заголовок хоста (имя хоста)

Информация о размещенных веб-сайтах хранится в файле Серверные привязки атрибут метабазы ​​IIS, и его формат следующий: IP:Порт:Имя хоста. Итак, если вы хотите разместить несколько веб-сайтов на одном сервере (с одним и тем же портом и IP-адресом), вам необходимо использовать уникальный заголовок хоста.

Вы можете задаться вопросом: что такое заголовок хоста? Заголовок хоста — это часть HTTP-запроса к серверу, которая указывает, к какому веб-сайту он адресован. Поэтому мы должны упомянуть этот заголовок хоста на стороне веб-сервера. Обратите внимание, что DNS имеет правильную запись, соответствующую имени хоста и IP-адресу веб-сервера IIS.

Теперь предположим, что у вас есть веб-сайт, работающий на сервере IIS и прослушивающий порт 80. Что делать, если мы хотим привязать второй веб-сайт к тому же порту?

Шаг 2. Привязка второго веб-сайта IIS

В диспетчере информационных служб Интернета (IIS) вам необходимо создать еще один веб-сайт, используя окно «Добавить веб-сайт», и назвать его TestSite; Этот веб-сайт будет расположен в папке C:\inetpub\TestSite. Обратите внимание: пока не указывайте имя хоста.

После копирования содержимого сайта в C:\inetpub\TestSite откройте Диспетчер информационных служб Интернета (IIS) и в имя хоста сервера добавьте сайт, чтобы открыть мастер.

hostwebsites.png

добавить-новый-сайт-iis
Добавить окно веб-сайта

 

После нажатия «ОК» вы увидите предупреждающее сообщение о том, что вы не можете использовать привязка *:80 для обоих этих сайтов.

добавить веб-сайт

привязка-80-назначена-другому-сайту
Проверить привязку

После того, как вы согласитесь с этим предупреждением, у вас будет еще один сайт, привязанный к порту 80. Таким образом, вы не сможете запустить его, не остановив первый сайт. Вы можете понять это больше, обратив внимание на следующее изображение.

4 Назначение разных портов привязки веб-сайтам
Назначение другого порта привязки веб-сайтам

Windows-оригинал-VPS Windows VPS-хостинг

Ознакомьтесь с нашими доступными планами Windows VPS, которые включают мощное оборудование, минимальную задержку и бесплатную Windows на ваш выбор!

Получите бесплатную Windows

Размещение нескольких веб-сайтов на сервере IIS с помощью заголовков хоста

Вам необходимо выбрать другое имя (имя хоста) для второго веб-сайта IIS, чтобы создать уникальную привязку. Для этого щелкните правой кнопкой мыши ТестСайт и выберите Редактировать Привязки. Выберите нужную вам привязку и нажмите Редактировать.

Как вы можете видеть на следующем изображении, мы должны указать уникальное имя хоста, по которому обращается пользователь. В этом уроке мы используем TestSite; Итак, давайте поместим его в поле Имя хоста.

привязка сайта test-iis
Окно редактирования привязки сайта

Вы можете использовать командную строку для настройки привязки сайта IIS. Если вы используете IIS 7 или более позднюю версию, после запуска команды для настройки привязки сайта IIS вы увидите что-то подобное:

C:\Windows\System32\inetsrv\appcmd.exe set site /site.name:testsite /+bindings.[protocol='http',bindingInformation='*:80:testsite']

Как и в случае с первым сайтом, вы также можете запустить второй.

start-iis-сайт
Управление веб-сайтами

На этом этапе вы должны добавить псевдоним DNS для сервера (A или CNAME), ссылаясь на IP-адрес или имя хоста вашего веб-сервера IIS. Если вы используете домен Active Directory, вам необходимо создать DNS-записи на контроллере домена. IIS позволяет вам создать CNAME запись для имени TestSite в консоли DNS (dnsmgmt.msc) и установите доменное имя вашего сервера IIS в качестве целевого хоста с полным доменным именем.

создание записи CNAME для имени TestSite в консоли DNS
создание записи CNAME для имени TestSite в консоли DNS

Вы также можете создать эту запись DNS с помощью PowerShell и следующей команды:

Add-DnsServerResourceRecordCName -HostNameAlias web-srv1.woshub.com -Name testsite -ZoneName woshub.com

Давайте попробуем открыть http://TestSite в браузере. Если все сделано правильно, оно должно успешно открыться.

несколько-iis-сайтов на одном и том же 80-http-порте
Окончательный результат испытательного полигона

 

Linux-VPS Упрощенный Linux-хостинг

Хотите лучший способ размещения своих веб-сайтов и веб-приложений? Разрабатываете что-то новое? Просто не нравится Windows? Вот почему у нас есть Linux VPS.

Получите свой Linux VPS

Запуск нескольких сайтов с разными IP-адресами на сервере IIS

Теперь давайте поговорим о запуске двух сайтов на веб-сервере IIS с разными IP-адресами. Сначала необходимо добавить отдельный интерфейс VLAN на Windows Server или назначить дополнительный IP-адрес (псевдоним) сетевому адаптеру.

В этом руководстве сервер имеет основной IP-адрес 192.168.13.100, и мы добавим псевдоним IP 192.168.13.101 к тому же сетевому адаптеру:

Get-NetIPAddress | ft IPAddress, InterfaceAlias, SkipAsSource
New-NetIPAddress –IPAddress 192.168.13.101 –PrefixLength 24 –InterfaceAlias “Ethernet” –SkipAsSource $True

Теперь вам необходимо создать запись A для вашего нового сайта на DNS-сервере:

Add-DnsServerResourceRecordA -Name NewSite3 -IPv4Address 192.168.13.101 -ZoneName woshub.com -TimeToLive 01:00:00 –CreatePtr

Остается открыть настройки Site Binding, привязав сайт к дополнительному IP-адресу вашего хоста. Вы можете обрабатывать привязку сайтов на сервере IIS с помощью PowerShell. Для этого используется модуль WebAdministration:

Import-Module WebAdministration

Вы можете просмотреть информацию обо всех доступных сайтах IIS и их привязках:

Get-IISSite

Или примерно один сайт:

(Get-Website -Name NewSite).bindings.Collection

привязки.Коллекция

Используйте следующую команду, чтобы изменить привязку этого сайта; обратите внимание, что он позволяет вам изменить IP-адреса, порт или имя:

Set-WebBinding -Name NewSite1 -BindingInformation "192.168.13.101:80:NewSite1" -PropertyName 'Port' -Value '8080'
Set-WebBinding -Name NewSite1 -BindingInformation "192.168.13.101:8080:NewSite1" -PropertyName 'IPAddress' -Value '192.168.13.100'

Вы можете запустить эту команду, чтобы добавить новую привязку к конкретному сайту IIS:

New-IISSiteBinding -Name NewSite1 -BindingInformation "*:9090:" -Protocol http

Удаление привязки осуществляется следующей командой:

Remove-IISSiteBinding -Name NewSite1 -BindingInformation "*:9090:"

Итак, как вы видели здесь, вы можете запускать несколько веб-сайтов на веб-сервере IIS как на разных IP-адресах, так и на одном и том же IP-адресе и номере TCP-порта.

Последняя мысль: размещение нескольких веб-сайтов на одном сервере

 Эта статья в основном посвящена основным понятиям серверов и помогает вам научиться размещать несколько веб-сайтов на одном сервере. Мы также доставляем несколько Linux VPS хостинговые решения, которые вы можете использовать для запуска разных веб-сайтов на одном сервере. Планы Cloudzy снижают стоимость использования нескольких серверов, но мы также позволяем вам использовать наши услуги в ваших интересах. Более того, вы можете легко обновить ресурсы вашего сервера, включая оперативную память, хранилище, процессор и пропускную способность.

Часто задаваемые вопросы

 

Можете ли вы иметь несколько веб-сайтов на одном хостинге веб-сервера?

Если у вас большой сервер с обширными ресурсами, такими как достаточно места на жестком диске, оперативной памяти и мощности процессора, вы можете разместить несколько веб-сайтов, используя виртуальный хостинг. Вы можете разместить неограниченное количество веб-сайтов на своем веб-сервере.

Как мы можем запустить два сайта на одном сервере?

Размещение нескольких веб-сайтов на одном веб-сервере называется виртуальным сервером. Кроме того, вы должны убедиться, что на выбранном вами сервере достаточно ресурсов для удовлетворения требований к трафику и дисковому пространству.

Для чего используется VPS-сервер?

VPS — это услуга хостинга, которая может предоставить вам выделенные (частные) ресурсы на сервере. Обратите внимание на то, что использование VPS — более безопасное и стабильное решение, чем виртуальный хостинг, который не предоставляет вам выделенного места на сервере.

Почему люди используют VPS?

VPS-хостинг стал широко распространенным выбором, поскольку он, как правило, дешевле, чем выделенный хостинг, но обеспечивает лучшую надежность, безопасность и производительность, чем общий хостинг.

Делиться

Еще из блога

Продолжайте читать.

Изображение обзора Odoo с большим текстом заголовка слева и логотипом Odoo справа, окруженным плавающими панелями интерфейса приложения на мягком фиолетовом фоне с облачной тематикой.
Веб-приложения и бизнес-приложения

Комплексный обзор Odoo: подходит ли Odoo ERP для вашего бизнеса

Odoo — одна из наиболее широко известных ERP-платформ для растущего бизнеса по одной простой причине: она обещает многое в одном месте. Продажи, учет, инвентаризация

Джим ШварцДжим Шварц 11 минут чтения
Альтернативы WordPress с открытым исходным кодом включают изображение с красочным градиентным фоном, монитор рабочего стола, редактор кода, размытый предварительный просмотр панели управления и большой текст заголовка слева.
Веб-приложения и бизнес-приложения

Лучшие альтернативы WordPress с открытым исходным кодом, специально разработанные для разработчиков

WordPress по-прежнему имеет значение и по-прежнему хорошо обслуживает огромное количество сайтов. В его каталоге плагинов содержится более 62 000 плагинов, а в каталоге тем — более 14 000 бесплатных тем. Та

Джим ШварцДжим Шварц 14 минут чтения
Изображение Automad и WordPress с логотипами платформ и заголовком, спрашивающим, какую CMS выбрать разработчикам.
Веб-приложения и бизнес-приложения

Automad против WordPress: тщательное сравнение двух лучших платформ CMS

Automad и WordPress решают одну и ту же задачу двумя совершенно разными способами. Automad — это CMS с плоскими файлами и механизм шаблонов, поэтому контент хранится в файлах, а не в базе данных, но WordPress,

Джим ШварцДжим Шварц 9 минут чтения

Готовы к развертыванию? От $2,48 в месяц.

Независимое облако, с 2008 г. AMD EPYC, NVMe, 40 Гбит/с. 14-дневный возврат денег.