Веб-сервер – це програма, що відповідає за надання інформації у вигляді веб-сторінок. Крім того, він відповідає за безліч додаткових функцій, серед яких:
- виконання різноманітних додатків, написаних на PHP, ASP і інших мовах програмування;
- підтримка захищеного з’єднання з використанням HTTPS;
- авторизація користувачів.
Основні веб-сервери
Сьогодні найбільшою популярністю користується веб-сервер Apache, завдяки сумісності з великою кількістю операційних систем і вільної ліцензії.
В середовищі корпоративних користувачів нерідко використовується аналогічний продукт під назвою Internet Information Services (IIS), розроблений в компанії Microsoft.
В деяких випадках, наприклад, при необхідності збільшити швидкість віддачі статичного контенту або для використання специфічних функцій у додатку, вдаються до використання веб-сервера Nginx, lighttpd та інших.
Принципи роботи веб-сервера
Отримавши запит від користувача, веб-сервер, в залежності від типу запитаного файла, відправляє його клієнту або запускає обробку сторінки. При цьому генерується код відповіді, який свідчить про успішне виконання операції або будь-яких помилках.
В процесі обробки сторінки веб-сервер при необхідності запускає різноманітні сценарії або програми, отримує від них дані і після перетворення в необхідний вид відправляє клієнту. Найчастіше результатом роботи веб-сервера стають сторінки, оформлені на HTML, відображенням яких займається браузер. Бувають і інші варіанти відповідей, наприклад, для програм, запущених на користувальницькому пристрої, можуть приходити дані у форматі XML, JSON і так далі.
Призначення локальних веб-серверів
Розробляючи програми, будь-який програміст стикається з необхідністю його постійного тестування. Часто для цих цілей зручно використовувати локальний веб-сервер, який встановлений безпосередньо на комп’ютері розробника. Це пов’язано з можливістю швидкого внесення правок і відсутністю необхідності постійного підключення до віддалених машин.
Перевірити зовнішній вигляд HTML-сторінок можна і без додаткового програмного забезпечення, використовуючи функцію відкриття файлу. При цьому браузер не буде виконувати програму, а просто виведе на екран весь текст, дотримуючись HTML-розмітку. Це може призвести до дуже дивним результатами. Домогтися результатів, відповідних тим, що будуть отримані при розміщенні ресурсу в інтернеті, дозволяє веб-сервер, встановлення якого виконана на локальний комп’ютер.
Пакети для розробників або самостійна установка та налаштування веб-сервера
Більшість веб-серверів розповсюджується безкоштовно і на умовах вільних ліцензій. Платні продукти зустрічаються рідко і потрібні, як правило, тільки в корпоративному середовищі. Завантажити та встановити програмне забезпечення на власний комп’ютер проблем не становить. Більш складний етап – налаштування. Веб-сервер у конфігурації за замовчуванням незручний для реального використання навіть під час тестування додатків. Тому доведеться відредагувати кілька файлів для зазначення необхідних параметрів.
Інший підхід популярний у користувачів Windows. Він полягає у використанні пакетів прикладних програм для розробників. У такий комплект відразу ж входять: веб-сервер, система управління базами даних MySQL, різні мови програмування. У цьому варіанті після інсталяції на локальний комп’ютер все буде налаштований автоматично.
Вибір варіанта установки залежить від особистих переваг і кваліфікації користувачів. У більшості випадків можна скористатися комплектом, хоча там можуть міститися застарілі версії мов програмування або баз даних, що може значно ускладнити розробку і вибір хостинг-провайдера для розміщення готового ресурсу.
Установка локального веб-сервера на віртуальну машину
Віртуальна машина дозволяє запускати на одному комп’ютері кілька примірників операційних систем. Причому вони можуть бути навіть з різних сімейств. Наприклад, можна з Windows запускати Linux і FreeBSD.
Установка веб-сервера для тестування додатків або веб-сайтів на віртуальну машину дозволяє створити конфігурацію, максимально схожу на реальні умови, в яких буде виконуватись робота. Більшість сучасних хостингових майданчиків працюють під управлінням Linux, що обумовлює більш специфічні конфігурації програмного забезпечення. На віртуальній машині можна встановити ту ж операційну систему, створити максимально наближену до реальності файлову структуру, підібрати необхідні версії мов програмування та систем управління базами даних. Ще одна перевага полягає в можливості тестувати кілька проектів, які потребують самих різних конфігурацій.
Є в підходу з віртуалізацією і недолік. Користувачу потрібно ознайомитися з документацією не тільки по налаштуванню і установці веб-сервера, а також інших програм, але і з керівництвами до самої операційної системи. Для швидкого налаштування віртуальних машин можна також скористатися спеціальними панелями управління, які автоматично виконають інсталяцію і конфігурацію веб-сервера і інших додатків.