Давайте розглянемо, як можна налаштувати Apache та Nginx для розміщення декількох веб-ресурсів на одному сервері.
Розміщення вебсайтів на хмарному сервері надає значну гнучкість, особливо порівняно зі спільним хостингом. Ви маєте повний контроль над встановленням програмного забезпечення, можливістю масштабування ресурсів і точним налаштуванням для досягнення оптимальної продуктивності та економії коштів.
Якщо ви керуєте кількома веб-сайтами для вашого бізнесу, але не бажаєте розміщувати їх на окремих серверах, вам допоможе технологія віртуальних хостів, що підтримується веб-серверами. Розглянемо цей сценарій детальніше.
Припустимо, у вас є два веб-сайти, які ви хочете націлити на одну вашу віртуальну машину у хмарі.
Перш ніж переходити до реалізації, давайте з’ясуємо, як це працює.
Концепція розміщення декількох веб-сайтів на одному веб-сервері відома як віртуальний хостинг. Конфігурація визначається у файлі налаштувань, де вказується відповідна URL-адреса. Коли надходить запит на визначену URL-адресу, веб-сервер обробляє трафік, беручи контент з відповідного кореневого каталогу.
Налаштування віртуального хосту в Apache для розміщення декількох доменів
- Підключіться до вашого Apache HTTP-сервера.
- Знайдіть місце розташування конфігураційного файлу Apache. (зазвичай він знаходиться тут: /etc/httpd/conf/httpd.conf)
- Зробіть резервну копію файлу httpd.conf.
- Створіть блоки VirtualHost, як показано нижче. Приклад для двох доменів:
<VirtualHost *:80> ServerAdmin [email protected] DocumentRoot /opt/htdocs/lab ServerName lab.techukraine.net.com ErrorLog logs/lab.techukraine.net.com-error_log CustomLog logs/lab.techukraine.net.com-access_log common </VirtualHost> <VirtualHost *:80> ServerAdmin [email protected] DocumentRoot /opt/htdocs/gf-dev ServerName gf.dev ErrorLog logs/gf.dev-error_log CustomLog logs/gf.dev-access_log common </VirtualHost>
Зверніть увагу: змініть значення ServerAdmin, DocumentRoot, ServerName, ErrorLog та CustomLog відповідно до вашої інфраструктури.
- Перезапустіть Apache HTTP-сервер та перевірте доступність обох URL-адрес.
Налаштування віртуального хосту в Nginx для розміщення декількох доменів
- Увійдіть на сервер з встановленим Nginx.
- Перейдіть до каталогу, де встановлено Nginx. (за замовчуванням це /etc/nginx/)
Існує декілька підходів для досягнення цієї цілі. Ви можете редагувати файл nginx.conf або будь-який кастомний файл, якщо він існує. Також можна створити новий файл custom.conf у папці conf.d. Оберіть підхід, який вам найбільше підходить, і не забудьте зробити резервну копію перед зміною існуючого файлу.
- Створіть блоки server для кожної з URL-адрес, як показано нижче:
server { listen 80; root /opt/htdocs/lab; index index.html index.htm; server_name lab.techukraine.net.com; location / { try_files $uri $uri/ =404; } } server { listen 80; root /opt/htdocs/gf-dev; index index.html index.htm; server_name gf.dev; location / { try_files $uri $uri/ =404; } }
Важливо: змініть root та server_name згідно з вашими шляхами до файлів і доменними іменами.
- Перезапустіть Nginx і перевірте роботу обох URL-адрес.
Не забудьте оновити DNS-записи для ваших URL-адрес, щоб вони відповідали IP-адресі вашого сервера. Після цього ви зможете отримати доступ до веб-сайтів, які обслуговуються за допомогою вищезазначених налаштувань.
Підсумок
Це був короткий огляд процесу розміщення декількох доменів на одному веб-сервері, такому як Apache або Nginx. Коли ваш веб-сайт запрацює, обов’язково перевірте його на наявність вразливостей у безпеці.
Чи була ця стаття корисною? Можливо, ви захочете поділитися цією інформацією з іншими?