0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Обзор веб-серверов для Windows и Mac OS X

Обзор веб-серверов для Windows и Mac OS X

Разработка современных динамических веб-сайтов на определенном этапе сталкивается с необходимостью…

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

Такой подход нам не нужен. Но просто так без введения вроде бы тоже нельзя. Поэтому вот оно.

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

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

Кроме того, есть варианты, когда можно скачать все компоненты по отдельности, сконфигурировать и настроить — мы это рассматривать не будем.

За сим довольно отступлений, поплыли.

Open Server

Данная сборка многовариантная. Установка стационарная (на домашний компьютер) и портативная (на переносной носитель).

Open Server — сборка относительно молодая, однако прочно завоевывает первые позиции в линейке локальных серверов. Причин в этом несколько, но главных три:

  1. Платформа портативна и доступна без установки на операционную систему;
  2. Open Server постоянно обновляется, и не «висит» по несколько лет без апгрейда, что говорит о постоянной работе автора над проектом;
  3. Платформа имеет пять языковых варианта (русский основной).

В сборке Open Server еще много приятных фишек, упрощающих работу разработчика. Радует простота установки, автономная подкачка недостающих программ, два сервиса HTTP (Apache и Nginx), несколько версий СУБД и PHP, наличие управляющей программы.

На момент подготовки этой статьи была доступна x64 версия PHP 7.2 (7.2.2), Thread Safe, собранная на VC15: php-7.2.2-Win32-VC15-x64.zip.
Размер архива Zip: 24 Мб.
Сейчас есть и поновей.

Для управления базами данных MySQL на локальном компьютере, установим бесплатный пакет phpMyAdmin.

Его дистрибутив скачаем с сайта http://www.phpmyadmin.net/
На момент подготовки статьи доступна была версия 4.7.7:
phpMyAdmin-4.7.7-all-languages.zip
Размер — около 11 Мб.

Содержимое архива выкладываем в заранее заготовленную папку, например:
D:siteslocalhostwww

Как создать сайт на компьютере с помощью платформы OpenServer

Обучение созданию сайтов — дело кропотливое, трудоёмкое, требующее многих затрат. Даже при условии использования юзабельных CMS . И по-другому, чем методом проб и ошибок, освоить это дело нельзя никак. Но пока будем пробовать и ошибаться, не обязательно оплачивать услуги хостинга и выбрасывать в Интернет-пространство «недозревший» материал. Созревать в своей теме, присматривать формат проекта, подыскивать доменное имя, определяться со стратегией продвижения и прочими тонкостями процесса можно размеренными темпами, попутно изучая функционал выбранной CMS.

Для этого необходимо создать сайт на своём компьютере – на локальном сервере. Как таковой организовать в среде Windows и внедрить в него популярную CMS для блоггинга WordPress – всё это рассмотрим ниже в деталях. А в качестве серверной платформы выберем OpenServer.

1. OpenServer: о платформе

Open Server – это программная платформа для веб-специалистов, обеспечивающая создание и функционирование в среде Windows полноценного сервера. Это сборка всех необходимых компонентов, с помощью которой можно создавать на своём компьютере сайты любой сложности, посредством любой выбранной CMS. Созданные таким образом сайты в дальнейшем (по мере готовности) переносятся на оплачиваемые хостинги.

Ключевые преимущества OpenServer:

• Бесплатность;
• Портативность, полная независимость от среды Windows текущего компьютера и возможность работы с сервером на внешних накопителях с любого другого устройства;
• Функциональность, в частности, поддержка двух HTTP-модулей — Apache и Nginx ;
• Ряд утилит для удобной работы с компонентами сборки (MySQL, PHP) ;
• Актуальные версии входящих в состав компонентов;
• Удобное управление сервером.

2. Скачивание и установка OpenServer

Скачать OpenServer можно с сайта разработчиков:

На выбор нам предлагается 3 сборки дистрибутива: базовая , премиум и максимальная . Если речь идёт только о создании и тестировании сайта на WordPress, можно обойтись базовой сборкой, в ней присутствуют нужные компоненты — Apache , PHP и MySQL. На перспективу изучения новых возможностей, нового ПО лучше сразу загружать одну из более функциональных сборок.

Описания сборок приводятся здесь же, на странице их скачивания чуть ниже. При отказе от доната завершения загрузки платформы придётся ждать долго, больше полутора часа точно. Так что дело это лучше организовать на ночь или на другое время простоя компьютера.

Скачанный архив распаковываем в любое место на несистемном разделе диска. Или на флешку, если с сайтом работать будем на нескольких компьютерах.

После распаковки проходим по указанному пути и запускаем OpenServer с помощью EXE -файла для соответствующей разрядности Windows. В небольшом окошке появится выбор языка платформы.

Далее нам будет предложено установить среду Microsoft Visual C++ . В официальных дистрибутивах актуальных версий Windows она, по идее, должна быть установлена. Но в любом случае можно согласиться на установку, хуже не будет.

3. Запуск сервера

После установки Microsoft Visual C++ компьютер перезагрузится. Запускаем OpenServer по новой. Доступ к функционалу платформы станет доступен в меню, появляющемся на её значке в системном трее. Запуск сервера осуществляется опцией с зелёным флажком «Запустить».

4. Возможные проблемы при запуске сервера

Увы, успешный запуск сервера будем наблюдать не в каждом случае. Дело в том, что по умолчанию в OpenServer настроено использование актуальных версий компонентов, в частности, HTTP -модуля Apache 2.4 и PHP 5.5 . Последние несовместимы с версиями Windows, начиная с Vista и старше. В числе типичных проблем запуска сервера – занятость портов 80 и 443 .

Об этих и прочих причинах невозможности запуска OpenServer сообщит уведомлением в системном трее. В таком случае можем обратиться к разделу настроек платформы и кое-что подправить. Во вкладке «Модули» можно поэкспериментировать с другими версиями Apache, PHP и MySQL.

Если сервер не запускается из-за занятого порта HTTP 80 , необходимо закрыть Скайп. Но можно поступить и по-иному — во вкладке настроек «Сервер» назначить платформе другой порт. То же самое необходимо сделать, если какая-то из программ займёт порт HTTPS 443 .

Ещё одна сложность в работе любого локального сервера – блокировка брандмауэром и антивирусом. При появлении на экране сообщения брандмауэра необходимо разрешить работу OpenServer. Разобраться с антивирусом же можно, внеся папку распаковки платформы и её рабочий процесс в исключения. Например, в Windows 10 Creators Update со штатным Защитником это делается следующим образом.

5. Установка WordPress

Итак, сервер запущен. Его работоспособность, кстати, можно проверить, введя в адресную строку браузера:

localhost

Если всё нормально, увидим тестовую приветственную надпись «Open Server Panel работает ;-)».

Далее в папке установки OpenServer «OSPanel» открываем подпапку «domains». Здесь создаём новую папку и называем её. При наличии доменного имени вводим его в качестве названия папки. Если процесс создания сайта в зачаточном состоянии, можно выбрать какое-нибудь техническое название типа «site1». Кстати, в меню OpenServer реализован быстрый доступ к папке с сайтами сервера.

Читать еще:  Как Настроить Новый Ноутбук Lenovo. Инженерное меню на смартфонах Lenovo Регулировка параметров звука в инженерном меню

Далее загружаем дистрибутив WordPress на официальном сайте CMS:

Распаковывать архив с дистрибутивом не нужно. Можно просто скопировать его содержимое. Windows в числе штатного арсенала содержит ZIP -архиватор, так что архив с дистрибутивом CMS можем открыть даже в проводнике. Копировать нужно не папку «wordpress» , а только то, что находится внутри неё.

Скопированное вставляем внутрь созданной выше папки сайта.

Примечание: внутри папки сайта не должно быть промежуточной папки «wordpress» , иначе её название будет болтаться в адресах страниц сайта.

6. База данных MySQL

Следующий этап – создание базы данных MySQL сайта. В меню OpenServer кликаем «Дополнительно», выбираем «PhpMyAdmin». В окне браузера по умолчанию откроется интерфейс веб-приложения. В форме авторизации необходимо ввести лишь имя пользователя:

root

Поле пароля оставляем пустым. Жмём «Вперёд».

После авторизации переключаемся на вкладку «Учётные записи пользователей» и добавляем новую запись.

В открывшейся форме:

• Заполняем графу имени пользователя (идентично названию папки сайта) ;
• Заполняем графы пароля и его подтверждения (ниже можно воспользоваться кнопкой «Генерировать» для генерирования безопасного пароля) ;
• Отмечаем галочки предлагаемых опций базы данных;
• Отмечаем галочкой «Отметить все» глобальные привилегии.

Имя пользователя и пароль сохраняем где-нибудь в TXT-файле или менеджере паролей. Жмём «Вперёд».

База MySQL создана. Её имя идентично имени учётной записи. Можем закрывать вкладку браузера с веб-приложением «PhpMyAdmin».

7. Редактирование файла конфигурации WordPress

Теперь нужно отредактировать файл конфигурации WordPress. Отправляемся в папку сайта и ищем там файл:

wp-config-sample.php

Переименовываем его и убираем из названия «-sample» . По итогу должен получиться файл:

wp-config.php

Открываем этот файл с помощью любой программы по типу блокнота, например, Notepad++. Из трёх граф, как показано на скриншоте ниже, удаляем дефолтные значения. А вместо них подставляем свои значения – данные созданной в предыдущем шаге базы MySQL :

‘DB_NAME’ – имя базы;
‘DB_USER’ – имя учётной записи (идентично предыдущему значению) ;
‘DB_PASSWORD’ – пароль.

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

Сохраняем и закрываем файл.

8. Запуск админ-панели WordPress

В меню OpenServer перезапускаем сервер. Далее кликаем «Мои сайты» и выбираем только что созданный сайт.

Он откроется в окне браузера по умолчанию на этапе первичной настройки сайта. Здесь указываем его название, придумываем имя пользователя и пароль админ-панели WordPress. Отмечаем галочкой отказ от индексирования сайта поисковиками. Жмём «Установить WordPress».

С помощью только что введённых данных имени пользователя и пароля входим в админ-панель WordPress. Всё – сайт на локальном сервере создан. Далее уже идёт специфика работы с самой блоггинг-платформой.

Установка XAMPP на ОС Windows

Запускаем инсталлятор и на стартовом окне жмём кнопку «Next».

Появится окно выбора устанавливаемых компонентов. Серым цветом отмечены неактивные чекбоксы (обязательные компоненты программы). Остальные – активны, но мы не будем ничего убирать, а оставим, по умолчанию. «Next».

Программа установки предложит выбрать место установки. По умолчанию это диск C:. Соглашаемся. «Next».

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

Программа сообщит, что готова к установке и после нажатия кнопки «Next» запустится процесс распаковки.

Joomla! можно устанавливать на хостиг, проще говоря, на компьютер хостера или устанавливать на Joomla! можно локальный компьютер, проще говоря, на свой компьютер.

Я советую новичкам устанавливать Joomla! на локальный компьютер. Конечно, у многих хостеров есть предустановленная Joomla!. В этом смысле, установка быстрее и легче. Но потом начнутся проблемы.

С перегрузкой компьютера хостера (сервера хостера), ведь Вы такое можете напрограммировать, что вырубите хостеру сервер. А в Joomla! сделать очень просто, попробуйте сохранить 100 страничный документ в Joomla! на локальном сервере, Вы увидите, как растет нагрузка. Для word 100 страничный документ не проблема, а вот для Joomla! С правами доступа к файлам. На хостинге, прежде чем, работать с файлами, необходимо установить соответствующие права доступа к этим файлом. Упрощено говоря, надо каждому файлу выставить атрибут, что и кто может с ними делать. Что могут посетители, например, читать, что может Вы, например, запускать. Для программирования Вам надо выставить самые широкие права доступа к фалам, но потом когда сайт сделан лучше эти права минимизировать, для защиты от хакеров. Обычно это забывают сделать (трудно вспомнить, где и что менял среди 6000 файлов). Сайт становится уязвим. Поэтому лучше не выставлять права доступа, сделать сайт на локальном компьютере, а потом перекачать на хостинг.

В общем лучше вначале установить Joomla! на локальный сервер (компьютер).

Но здесь мы сталкиваемся с серьезной проблемой. Установить Joomla! просто нельзя это вам не компьютерная игра, нажал инсталляционный файл, нажал несколько раз «Далее» и все установилось. С Joomla! так не получится. Дело в том, что бы Joomla! заработало необходимо предустановить несколько программ, без которых Joomla! работать не будет. Что нужно?

Apache PHP MySQL PHPMyAdmin

Это самый минимум. И только потом можно устанавливать Joomla!. Если у Вас все получится с первого раза, программы не будут конфликтовать, бросайте программирование и вебдизайн, идите в казино, Вы безумно удачливый человек. К счастью, существует решение проблемы – пакетная установка, т.е. программа, которая устанавливает сразу все программы. Никаких, ошибок и конфликтов. Существует три таких сборки, позволяющих запустить полноценный веб-сервер.

Денвер — набор дистрибутивов и программная оболочка, предназначенный для создания и отладки сайтов на локальной Windows-машине, без подключения к сети Интернет. Название пакета представляет собой сокращение от «джентльменский набор web-разработчика» — д. н. w. р. — «дэ» «эн» «вэ» «эр» — если прочитать быстро, то получится «Денвер».

Скачать можно отсюда http://www.denwer.ru

Базовый пакет состоит из следующих компонентов:

Apache 2.2, SSI, SSL, mod_rewrite, mod_php. PHP 5.3.1 MySQL 5.1.40. phpMyAdmin 3.2.3. Ядро Perl без стандартных библиотек Эмулятор sendmail

Денвер – отечественный проект. Дмитрий Котеров — автор проекта, Антон Сущев — ведущий разработчик проекта.

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

До недавнего времени Денвер очень сильно проигрывал конкурентам, т.к. он долго не обновлялся, о проекте стали немного забывать, но недавно 24 января 2010 года вышел новый Денвер-3. Вси компоненты обновлены.

JSAS — полноценный виртуальный веб сервер для Windows. Joomla! уже предустановленна настроена! Самый простой способ посмотреть, что такое Joomla на своем компьютере, отличное средство для offline разработки. Текущие характеристики:

PHP: 5.2.5/4.4.9 MySQL: 5.0.67-community Apache: 2.2.9 phpMyAdmin: 2.11.6 Joomla: 1.5. x and 1.0. x

Скачать можно отсюда http://www.jsasonline.com до недавнего времени проект был бесплатный, но теперь 10$. Старую бесплатную, но вполне работоспособную версии у партнера сайта «Joomla1» можно JSAS скачать бесплатно. Когда зайдете на сайт нажмите кнопку «БЕСПЛАТНО», скачивается файл не сразу, а через 60 секунд ожидания, зато бесплатно.

В настройках «My JSAS» можно добавить 5 новых сайтов. А в директории «Админ», можно управлять настройками JSAS.

До недавнего времени, я всегда советовал следующий пакет – XAMPP, Денвер был вечно устарелый, а новый JSAS платный. С выходом нового Денвера ситуация изменилась, но все равно советовал бы стабильно развивающийся XAMPP.

Читать еще:  Что такое Steam? (возможности, плюсы и минусы)

Если Вы хотите просто почувствовать вкус Joomla!, то можно попробовать JSAS. Однако у Вас потом могут возникнуть проблемы с переносом на хостинг, где установлены новые компоненты. Если перенос не предполагается, то вполне подойдет JSAS. Итак, я советую XAMPP.

XAMPP — кроссплатформенная сборка веб-сервера

Базовый пакет состоит из следующих компонентов:

Web-сервер Apache с поддержкой SSL СУБД MySQL PHP Perl FTP-сервер FileZilla POP3/SMTP сервер утилиту phpMyAdmin.

Официальный сайт программы, где можно ее скачать http://www.apachefriends.org/ru/xampp.html.

У партнера сайта «Joomla1» можно XAMPP скачать бесплатно. Когда зайдете на сайт нажмите кнопку «БЕСПЛАТНО», скачивается файл не сразу, а через 60 секунд ожидания, зато бесплатно.

Установка проста, запустите инсталляционный файл, следуйте инструкциям, все модули установятся сами. По умолчанию каталог с:xampp

Посещаете специальный раздел нашего сайта, где находится всегда свежая версия Joomla!. Нажимаете там скачать Joomla! бесплатно. Распаковываете. В каталоге C:xampphtdocs создаете каталог «ваш сайт» и полученные при распаковке файлы копируете в каталог C:xampphtdocs ваш сайт.

В браузере набирате http://localhost/ваш сайт/ Начианется процес установки Joomla! Отвечаете на вопросы. Все несложно.

ШАГ 1: Выбор языка (Choose Language):

ШАГ 2: Начальная проверка (Pre-installation Check):

Можно сразу нажать далее.

На этом шаге мастер установки проверяет соответствие минимальным требованиям системы для инсталляции Joomla!. В первой группе обязательных параметров, все значения должны быть выделены зеленым цветом , если присутствуют недопустимые — значения выделенные красным цветом , то нужно изменить настройки системы и повторить проверку. Во второй группе необязательных параметров, значения могут полностью не совпадать, но рекомендуются для полнофункциональной совместимости PHP с Joomla. Обычно красным горит — показывать ошибки. Это можно игнорировать.

Секрет. Частой бывает, когда параметр configuration.php имеет значение нет, для того чтобы исправить ошибку, нужно выставить права на запись для корневого каталога сайта, изменив атрибуты на значение 777 (открыв полный доступ).

ШАГ 3: Лицензия (License):

Можно сразу нажать далее.

Лицензия GNU/GPL говорит вам о том, что вы можете свободно использовать и вносить изменения в код Joomla, но саму CMS продавать нельзя.

ШАГ 4: Конфигурация базы данных (Database Configuration):

Это самый сложный шаг, здесь нам надо что-то заполнять четыре строчки и даже что-то придумать. Итак,

Тип базы данных: MySQL. По умолчанию Сервер: заполните как в подсказке «localhost». Пользователь: заполните как в подсказке «root». Пароль тоже придумайте. Не забудьте записать. Название базы придумайте сами, например, site_joomla. Не забудьте записать.

Продвинутым пользователям модно также открыть Расширенные установки и измените Префикс таблиц jos_ на любой другой. Эту усилит безопасность

ШАГ 5: Конфигурация FTP (FTP Configuration):

Можно сразу нажать далее.

FTP логины и пароли можно не набирать.

ШАГ 6: Главная конфигурация (Main Configuration):

Название сайта: Введите название вашего веб-сайта Ваш E-mail: Введите ваш адрес электронной почты Пароль администратора: Укажите пароль, который будет использоваться для доступа в административную панель управления сайтом.

Далее для новичков рекомендуется установить демо данные на сайт, для этого нажмите на кнопку Установить демо-данные.

ШАГ 7: Завершение (Finish):

По окончанию установки вам нужно в папке сайта удалить каталог installation. Вас об этом предупредят.Итак, удаляете из каталога http://localhost/ваш сайт/ каталог «installation».

Кнопка Сайт (Site) ведет к просмотру вашей домашней страницы.Для входа в административный интерфейс сайта нажмите на кнопку Админ (Admin).

После установки браузере набирате http://localhost/ ваш сайт/administrator/ Набиарете пароли которые Вы ввели при установки. Все , Вы в административной панели Joomla!. Можете создовать сайт.

После входя в админпанель, вы можете посмотреть свой сайт, нажав на кнопку Просмотр.

Установка Joomla! на хостинг

Сегодня найти хостинг с

Apache PHP MySQL phpMyAdmin

не проблем, нередко уже предустановленна и сама Joomla! как на РБК. Тогда установка очень проста, нажал кнопку и все установилось. Если предустановленной Joomla! нет, то установка сводится к

созданию базы данных. В зависимости от хостера инструменты для решения этой задачи разные, в техподдержке Вам помогут. см Перенос Joomla! перекачиванию в файловую директорию, обычно это WWW файлов Joomla!

А дальше, в браузере набирате http://localhost/ваш сайт/ Начианется процес установки Joomla! Отвечаете на вопросы. Все несложно, см. выше.

И напоследок, одно золотое правило, если Вы не суперпрограммист, а у Вас начало «сбоить». Переустанавливаете, не ищите ошибку, сэкономите массу времени. По опыту скажу, из 10 абсолютно идентичных попыток установить XAMPP 1 раз устанавливается с ошибкой. Почему не знаю, нет времени и особого желания разбираться.

Подробная инструкция установки Joomla! на хостинг с картинками.

Установка Joomla! — Генератор расширений Joomla и многое другое на нашем сайте посвященном работе расширений, компонентов, модулей, плагинов для линейки Joomla. Отправляйте ссылку на страницу своим друзьям и в социальные сети воспользовавшись графическими иконками выше.

The Uniform Server

Одна из самых легких версий локального сервера, предназначенная для компьютеров под управлением Windows. Это ее главное преимущество, ведь пользователю не придется скачивать огромное количество файлов, которые занимают дисковое пространство.

К недостаткам The Uniform Server относится то, что с самой программой придется взаимодействовать практически всегда через консоль, а в графическом интерфейсе выполняется всего несколько действий.

Если вы решили попробовать это решение, загрузите его с официального сайта и начните бесплатное использование.

5 локальных сервера для OpenCart

Почему я выбрал, только 5 локальных сервера для OpenCart обзора? Потому что я их считаю наиболее удобными, легко устанавливаемыми, просто настраиваемыми и подходящими под OpenCart.

OpenServer

Платформа OpenServer может работать, как на стационарном компьютере, так и запускаться с переносного носителя.

OpenServer это русскоязычный продукт созданный русским программистом, хотя и имеет несколько доступных языков для локализации.

Данная платформа бесплатна, свободна для скачивания. Скачать её можно на сайте автора тут open-server.ru. С бесплатным скачиванием ест проблемы скорости скачивания, в остальном, проблем нет.

В состав платформы входят 33 программы. Они все перечислены на официальном сайте платформы. Ставится платформа на ось Windows (32-бит и 64-бит), начиная с версии Windows7SP1.

Для установки и работы нужно 500 МБ RAM и 3 ГБ на HDD, также нужно установить Microsoft Visual C++. Работать со сборкой легко, так как в ней есть управляющая программа.

Об установке OpenCart на OpenServer читать Как установить OpenCart по FTP.

Xampp

В аббревиатуре этой сборки присутствует первая буква X (икс). Это означает, что сборку можно установить на любую ось Windows, Linux и Mac OS X. На флэшке, данная сборка НЕ работает.

Эта сборка «не говорит» на русском языке, хотя официальный сайт отлично переведен.

При установке могут вылезти проблемы с портом 80 вашего компьютера, но они быстро решаются настройками Windows. В сборку XAMPP входит Apache, с базой данных MariaDB, языками PHP и Perl.

AMPPS

Это дистрибутив под любую ось (Windows, Linux и Mac OS X) с веб-сервером Apache, базой данных MySQL и MongoDB, языками PHP, Perl, Python.

Отличительная особенность AMPPS, мощная административная панель солидного хостинга. На ней можно найти всё: от установки популярных CMS, скриптов, форумов в один клик, до резервного копирования в один клик.

Скачиваем AMPPS Softaculous, для установки тут: www.ampps.com/downloads . После элементарной установки, не требующей подготовки, можно начинать работать.

WampServer

Отличная сборка под ось Windows с веб-сервером Apache, серверами БД MySQL, интерпретатором PHP и панелью phpmyadmin. WampServer легко ставиться, просто управляется из трея Win, быстро настраивается через интерфейс.

Сайт платформы на русском языке, распространяется WampServer2.5 бесплатно, не работает Windows XP SP3, Windows Server 2003.

Winginx

Официальный сайт этой сборки winginx.ru, сайт русскоязычный.

Отличительная особенность это сборки работа не на Apache, а Nginx 1.12.0. По неведомым мне причинам, автор остановил сборку на PHP 5.6.30.

Читать еще:  Физическое и виртуальное увеличение оперативной памяти компьютера

В работе с этой сборкой у меня были проблемы, и управление Winginx, мне тоже не очень нравится. Включил я её в обзор из-за Nginx, который может быть полезен, как альтернатива Apache.

Сервер и публикация приложения

Традиционно приложения ASP.NET развертывались на веб-сервере IIS. Однако поскольку ASP.NET Core имеет кроссплатформенную природу, потребовалось отвязать ASP.NET Core от IIS и в целом от Windows. И на данный момент для развертывания приложения ASP.NET Core поддерживает развертывание приложения на следующих веб-серверах:

IIS и IIS Express, а также предоставляет возможность запускать приложение без IIS в рамках собственного процесса с помощью двух дополнительных http-серверов, которые идут вместе с ASP.NET Core:

IIS HTTP Server

Microsoft.AspNetCore.Server.HttpSys (или просто WebListener) (в предыдущих версиях ASP.NET Core назывался WebListener)

Microsoft.AspNetCore.Server.Kestrel (или просто Kestrel)

HTTP.sys и Kestrel представляют два дополнительных http-серверов, которые идут вместе с ASP.NET Core. HTTP.sys работает только на платформе Windows, а Kestrel является кроссплатформенным.

Кроме того, если приложение использует Kestrel, то в качестве прокси-сервера оно может использовать также IIS, Apache и Nginx. То есть Apache, Nginx или IIS будут получать запросы и перенаправлять их приложению, которое работает на Kestrel. Такая схема, когда запросы идут не напрямую на Kestrel, проходят черех IIS/Apache/Nginx, позволяет нам задействовать возможности, которые есть у этих веб-серверов, но отсутствуют у Kestrel.

IIS и IIS Express

По умолчанию приложения ASP.NET работают с сервером IIS. Однако надо заметить, что по сравнению с предыдущими версиями ASP.NET при работе с ASP.NET Core IIS не использует инфраструктуру System.Web , что значительно повышает производительность приложения. Кроме того, IIS поддерживает множество различного функционала, имеет множество возможностей по администрированию и управлению сервером и размещенными на нем приложениями.

AspNetCoreModule

Хостирование приложений ASP.NET Core на IIS происходит с помощью нативного модуля IIS под названием AspNetCoreModule , который сконфигурирован таким образом, чтобы перенаправлять запросы на веб-сервер Kestrel. Этот модуль управляет запуском внешнего процесса dotnet.exe, в рамках которого хостируется приложение, и перенаправляет все запросы от IIS к этому хостирующему процессу.

При получении первого запроса к приложению AspNetCoreModule запускает процесс для этого приложения и перезапускает процесс, если приложение падает.

Вначале все входящие запросы проходят через драйвер Http.Sys, который перенаправляет их на IIS на основной порт (80) или на порт SSL (443). Затем запрос от IIS перенаправляется приложению ASP.NET Core на определенный порт, на котором запущено приложение (любой другой порт, отличный от 80/443). Веб-сервер Kestrel получает запрос и передает его в виде объекта HttpContext в конвейер middleware ASP.NET Core. Конвейер middleware в приложении обрабатывает запрос и возвращает IIS результат обработки, который затем посылается HTTP-клиенту (например, веб-бразеру).

Для использования модуля он должен быть установлен. Он распространяется в рамках пакета ASP.NET Core Server Hosting Bundle. Но при установки Visual Studio с ASP.NET Core модуль AspNetCoreModule уже автоматически устанавливается для IIS Express / IIS, поэтому разработчикам, как правило, не придется его дополнительно доустанавливать.

Также для использования модуля непосредственно в приложении в проекте должен быть установлен Nuget-пакет Microsoft.AspNetCore.Server.IISIntegration .

Для интеграции с IIS для объекта WebHostBuilder вызывается метод UseIISIntegration() . Этот метод ищет переменные окружения, которые устаналиваются модулем AspNetCoreModule, если подобных переменных не установлено, то метод по сути ничего не делает.

Мы можем вызвать этот метод явно в файле Program.cs:

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

Среди преимуществ использования именно IIS, а не Kestrel следует отметить работу со статическими файлами. В стандартном веб-приложении ASP.NET Core за взаимодействие со статическими файлами отвечает middleware StaticFiles, которое было рассмотрено в одной из предыдущих тем. Но на данный момент оно слабо отптимизировано и не поддерживает кэширование. И если мы используем чистый Kestrel, то он при обращении к статическим файлам каждый раз считывает их из файловой системы. А если мы используем IIS в качестве прокси для сервера, то мы можем воспользоваться встроенными возможностями IIS по кэшированию. В частности, IIS кэширует ранее считанный с диска статический файл и при последующих обращениях к нему берет этот файл из кэша, тем самым увеличивая производительность.

Kestrel

Kestrel представляет кроссплатформенный веб-сервер, основанный на кросплатформенной библиотеке асинхронного ввода/вывода libuv. Kestrel по умолчанию включается в проект ASP.NET Core.

При инициализации хоста у объекта WebHostBuilder вызывается метод UseKestrel() , который позволяет задействовать Kestrel. Несмотря на то, что по умолчанию исходный код в файле Program.cs не содержит этого вызова, этот метод вызывается автоматически.

Однако при настройке хоста мы можем явным образом вызвать метод UseKestrel для конфигурации сервера:

Для настройки Kestrela применяются свойства и методы объекта KestrelServerOptions . В частности, метод Listen позволяет установить порт, по которому Kestrel будет запускаться.

Свойство Limits устанавливает предельные значения для различных конфигурационных настроек. Так, свойство MaxConcurrentConnections задает максимально количество оновременно открытых соединений.

Свойство MaxRequestBodySize устанавливает максимальный размер для запроса в байтах.

Свойство MinRequestBodyDataRate задает минимальную скорость передачи данных в запросе в байтах в секунду.

Свойство MinResponseDataRate задает минимальную скорость передачи данных в исходящем потоке в байтах в секунду.

При развертывании на Windows Kestrel может применять IIS в качестве прокси-сервера, а при развертывании на Linux как прокси-серверы могут использоваться Apache и Nginx. Но также Kestrel может работать самостоятельно внтури своего процесса без IIS.

Так, по умолчанию в Visual Studio доступны две возможности для запуска: с проксированием через IIS и напрямую.

При выборе возможностей вариантов запуска мы можем по умолчанию встретить два профиля:

IIS Express (запуск с проксированием через IIS Express)

Профиль, который совпадает с названием проекта (в моем случае это HelloApp) — тот пункт, который позволяет запускать приложение в отдельном процессе без всякого проксирования через IIS. Так как в файле Program.cs установлен в качестве сервера Kestrel (методом UseKestrel() ), то в данном случае приложение будет запускать именно Kestrel. Причем по умолчанию приложение будет запускаться на 5000-порту.

И если мы выберем для запуска второй пункт, то у нас запустится консольное приложение dotnet.exe , которое запустит наше приложение. И после этого мы сможем обращаться к нашему приложению из любого браузера:

Запуск приложения с помощью Kestrel довольно прост, нам не надо устанавливать и настраивать другие веб-серверы. Однако специалисты Microsoft рекомендуют такой способ запуска преимущественно в рамках локальной внутренней сети. А если приложение открыто для глобальной сети интернет, то рекомендумым способом запуска для обеспечения большей безопасности является именно проксирование через IIS, Apache, Nginx. Подобный метод имеет ряд преимуществ по сравнению с обычным запуском приложения на Kestrel в виде самохостирующегося процесса. В частности, прокси-серверы позволяет скрыть приложения, если они не должны быть доступны напрямую. Кроме того, веб-серверы позволяет управлять нагрузкой ко всем приложениям, и предоставляют другие функции по управлению приложениями.

Собственно при создании проекта ASP.NET Core в Visual Studio такой способ используется по умолчанию.

HTTP.sys

HTTP.sys представляет HTTP-сервер для ASP.NET Core, который работает только в ОС Windows. Ранне данный сервер назывался WebListener. Он запускается поверх драйвера ядра Http.Sys . Весь функционал сервера сосредоточен в пакете Microsoft.AspNetCore.Server.HttpSys .

Итак, изменим файл Program.cs, чтобы в нем использовался не Kestrel, а HttpSys:

Если метод UseKestrel() задает в качестве сервера Kestrel, то вызов метода UseHttpSys() аналогичным образом устанавливает в качестве сервера HTTP.sys.

Теперь запустим приложение, выбрав профиль, который совпадает с названием проекта:

И у нас запустится та же самая консоль, что и при работе через Kestrel, только теперь все вызовы к приложению будут идти через WebListener.

Ссылка на основную публикацию
Статьи c упоминанием слов:

Adblock
detector