Знижка 50%. всі плани, обмежений час. Починаючи з $2.48/mo
Залишилось 13 хв
Веб і бізнес програми

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

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

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

Різні веб-сервери можуть надати вам безкоштовні послуги з відкритим вихідним кодом, які широко використовуються в усьому світі. Однак перш ніж пояснювати, як розмістити кілька веб-сайтів на одному сервері, ми повинні знати, що таке веб-сервер і як він працює.

Зміст

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

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

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

Як працює веб-сервер?

Веб-сервери працюють на основі a клієнт-сервер модель. У цій стандартній структурі клієнт запитує ресурс або послугу від сервер.

Для обробки запитів веб-клієнтів веб-сервери виконують кілька кроків:

  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

Тепер ви повинні зберегти та припинити використання Втеча кнопку та введення: wq

Ви можете використати наведену нижче команду, щоб повторити всі ці дії для свого другого домену.

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: Редагування файлу конфігурації для кожного сайту

Принаймні ви зміните та додасте виділені рядки в межах <VirtualHost *:80> і теги </VirtualHost>.

Зауважте, що Псевдонім сервера це альтернативне ім'я для вашого домену; у цьому випадку та в більшості випадків ви ставите www перед доменним іменем, щоб інші могли бачити сайт як через www, так і без www (Ім'я сервера).

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

Інформація про сайт
Інформація про сайт

Знову вийдіть і збережіть за допомогою wq. Ви повинні повторити цей процес для себе domain2.com.conf файл; обов’язково оновіть Ім'я сервера, Псевдонім сервера, і Корінь документа для вашого другого домену.

Читайте також:Apache проти 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/host на вашому комп’ютері або 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-адреса
  • заголовок хоста (ім'я хоста)

Інформація про розміщені веб-сайти зберігається в ServerBindings атрибут метабази IIS, а його формат такий: IP:Порт:Назва хосту. Отже, якщо ви хочете розмістити кілька веб-сайтів на одному сервері (однаковий порт і IP-адреса), вам потрібно використовувати a унікальний заголовок Host.

Ви можете запитати, що таке заголовок хосту? Заголовок хосту — це частина HTTP-запиту до сервера, яка вказує, до якого веб-сайту він адресований. Тому ми повинні згадати цей заголовок хосту на стороні веб-сервера. Зверніть увагу, що DNS має правильний запис, який відповідає імені хоста та IP-адресі веб-сервера IIS.

Тепер припустімо, що у вас є веб-сайт, який працює на сервері IIS і прослуховує порт 80. Що робити, якщо ми хочемо прив’язати другий веб-сайт до того самого порту?

Крок 2: прив’язка другого веб-сайту IIS

У диспетчері інформаційної служби Інтернету (IIS) вам потрібно створити ще один веб-сайт за допомогою вікна «Додати веб-сайт» і назвати його TestSite; Цей веб-сайт буде розташовано в C:\inetpub\TestSite. Зверніть увагу, поки не вказуйте ім’я хоста.

Після копіювання вмісту сайту в C:\inetpub\TestSite відкрийте диспетчер інформаційних служб Інтернету (IIS) і в імені хоста сервера додайте сайт, щоб відкрити майстер для вас.

hostwebsites.png

add-new-site-iis
Додати вікно веб-сайту

 

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

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

the-binding-80-is-assigned-to-nother-site
Перевірка прив'язки

Після того, як ви погодитеся з цим попередженням, у вас буде ще один сайт, прив’язаний до порту 80. Отже, ви не можете запустити його, не зупинивши перший сайт. Ви можете зрозуміти це краще, звернувши увагу на наступне зображення.

4 Призначення різних портів прив’язки до веб-сайтів
Призначення різних портів прив’язки до веб-сайтів

windows-original-vps Windows VPS хостинг

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

Отримайте безкоштовну Windows

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

Ви повинні вибрати інше ім’я (Ім’я хоста) для другого веб-сайту IIS, щоб створити унікальну прив’язку. Для цього клацніть правою кнопкою миші TestSite і виберіть Редагувати Палітурки. Виберіть потрібну прив’язку та натисніть Редагувати.

Як ви можете бачити на наступному зображенні, ми повинні вказати унікальне ім’я хоста, до якого звертається користувач. У цьому посібнику ми використовуємо TestSite; тому давайте помістимо його в поле Hostname.

test-iis-site-binding
Вікно редагування прив’язки сайту

Ви можете використовувати командний рядок, щоб налаштувати прив’язку сайту IIS. Якщо ви використовуєте IIS 7 або новішу версію, ви побачите щось подібне після виконання команди для налаштування прив’язки сайту IIS:

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

Подібно до першого веб-сайту, ви також можете запустити другий.

start-iis-site
Керування веб-сайтами

На цьому етапі ви повинні додати псевдонім DNS для сервера (A або CNAME), посилаючись на IP-адресу або ім’я хоста веб-сервера IIS. Якщо ви використовуєте домен Active Directory, вам потрібно зробити записи DNS на контролері домену. IIS дозволяє створювати a CNAME запис для імені TestSite на консолі DNS (dnsmgmt.msc) і встановіть доменне ім’я вашого сервера IIS як цільовий хост FQDN.

створення запису 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

Залишається відкрити налаштування прив’язки сайту, прив’язавши сайт до додаткової 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 зменшують витрати на наявність кількох серверів, але ми також дозволяємо вам використовувати наші послуги у своїх інтересах. Крім того, ви можете легко оновити ресурси свого сервера, включаючи оперативну пам’ять, пам’ять, процесор і пропускну здатність.

FAQ

 

Чи можете ви мати кілька веб-сайтів на одному веб-сервері?

Якщо у вас є великий сервер із великими ресурсами, як-от достатньо місця на жорсткому диску, оперативної пам’яті та потужності процесора, ви можете розмістити кілька веб-сайтів за допомогою віртуального хостингу. Ви можете розмістити необмежену кількість веб-сайтів на своєму веб-сервері.

Як ми можемо запускати два веб-сайти на одному сервері?

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

Для чого використовується сервер VPS?

VPS — це служба хостингу, яка може надати вам виділені (приватні) ресурси на сервері. Зверніть увагу на те, що використання VPS є більш безпечним і стабільним рішенням, ніж спільний хостинг, який не дає вам виділеного місця на сервері.

Чому люди використовують VPS?

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

Поділіться

Більше з блогу

Продовжуйте читати.

Зображення функції огляду Odoo з великим текстом заголовка ліворуч і логотипом Odoo праворуч, оточеним плаваючими панелями інтерфейсу додатка на ніжно-фіолетовому тлі хмари.
Веб і бізнес програми

Комплексний огляд Odoo: чи Odoo підходить для вашого бізнесу

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

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

Найкращі альтернативи WordPress з відкритим кодом, призначені для розробників

WordPress все ще має значення, і він все ще добре обслуговує величезну кількість сайтів. Його каталог плагінів містить понад 62 000 плагінів, а його каталог тем пропонує понад 14 000 безкоштовних тем. Tha

Джим ШварцДжим Шварц 14 хв читання
Зображення функції Automad проти WordPress із логотипами платформи та заголовком із запитанням, якого розробника CMS вибрати.
Веб і бізнес програми

Automad проти WordPress: ретельне порівняння двох найкращих платформ CMS

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

Джим ШварцДжим Шварц 9 хвилин читання

Готові до розгортання? Від $2,48/міс.

Незалежна хмара, з 2008 року. AMD EPYC, NVMe, 40 Гбіт/с. 14-денне повернення грошей.