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

Что такое DNS-сервер простыми словами

Для начала, следует рассмотреть понятие DNS и описание его работы. DNS — это аббревиатура от Domain Name System («Системы доменных имен»), главной задачей которой является хранение и управление информацией о доменных зонах.

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

По аналогии с телефонным справочником, можно назвать доменное имя (URL-адрес) «контактом», а IP-адрес — «номером абонента». Если дать определение простыми словами, DNS — это сама телефонная книга со всеми сохраненными в ней контактами.

Главное отличие физической телефонной книги от ее интернет-аналога заключается в том, что контакты в последней сохраняют не обычные пользователи Сети. «Номера» в системе DNS регистрируют владельцы сайтов, имеющие права на определенный домен или домены.

Как Работают Домены?

Что такое домен немного разъяснили. Как же они работают? Доменные имена работают как ярлыки для сервера, на котором размещён сайт.

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

В нашем случае, Hostinger.ru – это доменное имя. Скажем, оно указывает на IP-адрес 100.90.80.70. IP-адрес указывает на сервер, но сам адрес не даёт посетителям доступ к сайту. Для того, чтобы по IP-адресу получить сайт, удалённый сервер должен использовать порт 80 со страницей по умолчанию (т.е. index.html), которая хранится в каталоге веб-приложений.

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

Домены также могут использовать переадресацию, что, по сути, позволяет автоматически перенаправить посетителей одного домена на другой. Эту функцию найдут полезной, как компании, так и небольшие сайты. Она пригодится и вам, если вы хотите перенаправлять посетителей вашего основного сайта на целевые страницы. Редиректы также помогают избежать путаницы в различном написании. Например, если вы зайдёте на сайт www.fb.com, то вы будете перенаправлены на сайт www.facebook.com.

Что такое дочерние NS-серверы

Иногда NS-серверы для домена находятся на его поддоменах. В вышеприведенном примере домен MYDOMAIN.COM делегирован на NS-серверы ns1.mydomain.com, ns2.mydomain.com и т.д. Как же это возможно? Ведь чтобы обратиться к этим NS-серверам нужно узнать их ip-адрес. Все просто — корневой сервер зоны .COM при таком варианте требует указания не только доменных имен NS-серверов, но и их ip-адресов. Поэтому DNS-сервер знает, куда обратиться за подробностями. Рассмотрим пример двух доменов — с дочерним NS-сервером и без: NS-запись у домена diphost.ru

NS-запись у домена bz8.ru

Как видите, все просто. Такая настройка у зарубежных регистраторов называется Child NameServers

Имена сервера задаются с помощью директивы server_name и определяют, в каком блоке server будет обрабатываться тот или иной запрос. См. также “Как nginx обрабатывает запросы”. Имена могут быть заданы точно, с помощью маски или регулярного выражения:

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

  1. точное имя
  2. самое длинное имя с маской в начале, например “ *.example.org ”
  3. самое длинное имя с маской в конце, например “ mail.* ”
  4. первое подходящее регулярное выражение (в порядке следования в конфигурационном файле)

Имена с масками

Имя с маской может содержать звёздочку (“ * ”) только в начале или в конце имени, и только на границе, определяемой точкой. Имена “ www.*.example.org ” и “ w*.example.org ” являются некорректными, но их можно задать с помощью регулярных выражений, например, “

^w.*.example.org$ ”. Звёздочка может соответствовать нескольким частям имени. Имени с маской “ *.example.org ” соответствует не только www.example.org , но и www.sub.example.org .

Специальное имя с маской вида “ .example.org ” соответствует как точному имени “ example.org ”, так и маске “ *.example.org ”.

Имена, заданные регулярными выражениями

Регулярные выражения, используемые в nginx, совместимы с используемыми в языке программирования Perl (PCRE). Имя сервера, заданное регулярным выражением, должно начинаться с символа тильды:

в противном случае оно будет рассматриваться как точное, или же, если выражение содержит звёздочку (“ * ”), то как имя с маской (и, скорее всего, некорректное). Не забывайте ставить специальные символы начала (“ ^ ”) и конца (“ $ ”) строки. По синтаксису они не требуются, но логически они могут быть нужны. Также заметьте, что все точки в доменных именах должны быть экранированы символом обратной косой черты. Регулярное выражение, содержащее символы “ < ” и “ >”, необходимо экранировать:

иначе nginx откажется запускаться и выдаст сообщение об ошибке:

К именованному выделению в регулярном выражении можно впоследствии обратиться через переменную:

Библиотека PCRE поддерживает именованные выделения, используя следующий синтаксис:

? name >Совместимый с Perl 5.10 синтаксис, поддерживается начиная с PCRE-7.0
?’ nameСовместимый с Perl 5.10 синтаксис, поддерживается начиная с PCRE-7.0
?P name >Python-совместимый синтаксис, поддерживается начиная с PCRE-4.0

то это значит, что используется старая версия библиотеки PCRE и следует вместо этого попробовать синтаксис “ ?P name > ”. Также можно использовать нумерованные выделения:

Читать еще:  Для чего нужны клавиши функционала F1,F2, F?? ?

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

Прочие имена

Некоторые имена имеют специальное значение.

Если необходимо обрабатывать запросы без поля “Host” в заголовке в блоке server, который не является сервером по умолчанию, следует указать пустое имя:

Если директива server_name не задана в блоке server, то nginx будет использовать пустое имя в качестве имени сервера.

Версии nginx вплоть до 0.8.48 в этом случае использовали имя хоста (hostname) машины в качестве имени сервера.

Если имя сервера задано как “ $hostname ” (0.9.4), то используется имя хоста (hostname) машины.

Если в запросе вместо имени сервера указан IP-адрес, то поле “Host” заголовка запроса будет содержать IP-адрес, и запрос можно обработать, используя IP-адрес как имя сервера:

В примерах конфигурации серверов, обрабатывающих все запросы, встречается странное имя “ _ ”:

Оно не является каким-то особенным, это просто одно из множества некорректных доменных имён, которые никогда не пересекутся ни с одним из реальных имён. С тем же успехом можно использовать имена типа “ — ” и “ !@# ”.

Версии nginx вплоть до 0.6.25 поддерживали специальное имя “ * ”, которое многими неверно воспринималось как имя сервера для обработки всех запросов. Оно никогда так не работало, и не работало как имя с маской. Это имя действовало так же, как сейчас действует директива server_name_in_redirect. Специальное имя “ * ” объявлено устаревшим, а вместо него следует использовать директиву server_name_in_redirect. Заметьте, что с помощью директивы server_name нельзя задать ни имя сервера для обработки всех запросов, ни сервер по умолчанию. Это является свойством директивы listen, а не server_name. См. также “Как nginx обрабатывает запросы”. Можно настроить серверы, слушающие на портах *:80 и *:8080, и указать, что один из них будет сервером по умолчанию для порта *:8080, а другой — для порта *:80:

Интернационализованные имена

Для указания интернационализированных доменных имён (IDNs) в директиве server_name следует указывать Punycode-представление имени:

Оптимизация

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

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

Поиск в хэш-таблице имён с масками медленнее, чем поиск в хэш-таблице точных имён, поскольку имена сравниваются по доменным частям. Заметьте, что специальное имя с маской вида “ .example.org ” хранится в хэш-таблице имён с масками, а не в хэш-таблице точных имён.

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

По вышеизложенным причинам предпочтительнее использовать точные имена, где это только возможно. Например, если к серверу наиболее часто обращаются по именам example.org и www.example.org , то эффективнее будет указать их явно:

нежели чем использовать упрощённую форму:

Если задано большое число имён серверов, либо заданы необычно длинные имена, возможно потребуется скорректировать значения директив server_names_hash_max_size и server_names_hash_bucket_size на уровне http. Значение по умолчанию директивы server_names_hash_bucket_size может быть равно 32, 64, либо другой величине, в зависимости от размера строки кэша процессора. Если значение по умолчанию равно 32 и имя сервера задано как “ too.long.server.name.example.org ”, то nginx откажется запускаться и выдаст сообщение об ошибке:

В этом случае следует увеличить значение директивы до следующей степени двойки:

Если задано большое число имён серверов, то будет выдано другое сообщение об ошибке:

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

Если сервер является единственным сервером для слушающего порта, то nginx не будет проверять имена сервера вообще (а также не будет строить хэш-таблицы для слушающего порта). За одним исключением: если имя сервера задано регулярным выражением с выделениями, то nginx’у придётся выполнить это выражение, чтобы получить значения выделений.

Инструкция по установке MS SQL Server 2005

Эта информация была полезна?mn

Требования к аппаратному обеспечению

Минимальные:

Процессор: Intel (или совместимый) Pentium III 600 МГц или выше;
Память: 512 МБ или более (192 МБ для Express Edition);
Жесткий диск: 10 ГБ или более.

Рекомендуемые:

Процессор: Intel Pentium4 3000 МГц или выше;
Память: 1024 МБ или более;
Жесткий диск: 100 ГБ или более.

Требования к программному обеспечению

Необходимо наличие установленных пакетов: MDAC 2.8 (входит в XP), Windows Installer 3.1 и Microsoft .NET Framework 2.0.
Операционная система: MS Windows 2000 SP4 (Server, Advanced Server или Data Center Server), MS Windows 2003 Server SP1 (Standard Edition, Enterprise Edition, Data Center Edition), MS Windows 2003 Small Business Server SP1 (Standard Edition, Premium Edition).
Кроме того, некоторые редакции SQL Server 2005, в том числе бесплатную редакцию (Express Edition), можно устанавливать на следующие ОС: MS Windows 2000 SP4 (Professional Edition), MS Windows XP SP2 (Home Edition, Professional Edition, Media Center Edition, Tablet Edition), MS Windows 2003 SP1 (Web Edition).

Читать еще:  Adobe Flash Player: Что это? Как его установить и обновить +Обзор

Примечание. 64-разрядные редакции SQL Server 2005 предъявляют другие требования к аппаратно-программному обеспечению. Более подробную информацию можно найти на сайте корпорации Microsoft.

Для «тихой» установки (со стандартными параметрами) бесплатной версии SQL Server Express Edition With Advanced Services запустите программу установки компании «Альта-Софт» (setup.exe или altastp.exe) с правами администратора и воспользуйтесь кнопкой «SQL» (при запуске с фирменного DVD-диска доступ в интернет не потребуется). При необходимости проделайте дополнительные действия, описанные в примечаниях про Брандмауэр (FireWall) и Не русскоязычную ОС, все остальные нижеописанные действия выполнять уже не понадобится. Для доступа к SQL Server с правами администратора используйте логин «sa» и пароль «Alta-Soft», либо вариант «Авторизация Windows», зайдя в систему под учетной записью администратора локального компьютера.

Установка MS SQL Server 2005

  1. Запустить программу-установщик (в бесплатной версии Express Edition обычно называется SQLEXPR_ADV_RUS.EXE) с правами администратора на данном компьютере.
  2. Прочитать лицензию, установить галочку и нажать кнопку «Далее»:

  1. Нажать кнопку «Установить»:

  1. Нажать кнопку «Далее»:

  1. Нажать кнопку «Далее»:

  1. Нажать кнопку «Далее»:

Примечание. Если кнопка «Далее» недоступна, то проверить выполнение всех аппаратно-программных требований.

  1. Снять галочку «Скрыть дополнительные параметры…», ввести регистрационные сведения и нажать кнопку «Далее»:

  1. Выбрать ВСЕ доступные компоненты для установки, и нажать кнопку «Далее»:

Внимание! Для нормального функционирования ПО «Альта-ГТД» требуется установить «Компонент Full-Text Search» (д.б. помечен белым прямоугольником)!
Кроме того, для управления самим SQL Server необходимо установить компонент «Среда Management Studio»!

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

  1. Выбрать опции, как показано на рисунке, и нажать кнопку «Далее»:

  1. Выбрать опции, как показано на рисунке, и нажать кнопку «Далее»:

Примечание. В большинстве случаев рекомендуется использовать для запуска служб SQL Server встроенную учетную запись «Локальная система» (не путать с «Локальная служба»!). Однако, если Вы устанавливаете НЕ бесплатную версию SQL Server (Standard Edition, Enterprise Edition и т.п.) и хотите использовать «SQL Server Agent» (встроенный планировщик заданий, в бесплатную версию не входит) для выполнения регулярного резервного копирования файлов БД на другой компьютер в своей локальной сети (рекомендуется) и Ваша сеть построена с использованием домена Windows NT, то необходимо завести в Вашем домене отдельную учетную запись для SQL Server и предоставить ей права на соответствующие ресурсы (более подробную информацию можно найти в справочной системе SQL Server). При такой конфигурации, в этом окне необходимо указать имя домена, учетную запись и ее пароль.

  1. Выбрать смешанный режим проверки подлинности и задать пароль для системной учетной записи «sa» (эта учетная запись обладает максимальными правами доступа ко всем функциям и объектам на SQL Server). Нажать кнопку «Далее»:

  1. Выбрать опции, как показано на рисунке, и нажать кнопку «Далее»:

Внимание! Данную настройку нельзя будет изменить после установки. Будьте внимательны!

  1. Выбрать опции, как показано на рисунке, и нажать кнопку «Далее»:

  1. Выбрать опции, как показано на рисунке, и нажать кнопку «Далее»:

  1. Нажать кнопку «Установить»:

  1. После завершения установки нажать кнопку «Далее»:

  1. Нажать на ссылку «Средство настройки контактной зоны»:

  1. Нажать на ссылку «Настройка контактной зоны для служб и соединений»:

  1. В разделе «Удаленные соединения» установить переключатель «Локальные и удаленные соединения» и «Использовать только TCP/IP»:

Примечания:

  • Если НЕ предполагается подключаться к данному SQL-серверу с других компьютеров, то шаги 17 – 19 можно пропустить.
  • Если же подключаться предполагается и при этом на компьютере установлен какой-либо FireWall, то в нем необходимо разрешить входящие соединения по протоколу TCP/IP на порт 1433 (для подключения к SQL Server с других компьютеров), а также по протоколу UDP на порт 1434 (для того чтобы другие компьютеры могли обнаруживать данный экземпляр SQL Server). В стандартном «Брандмауэре Windows» (Панель управления→Брандмауэр Windows) для этого необходимо на закладке «Исключения» дважды «Добавить порт»:

Примечание. В Windows 7 вместо этого надо создать два правила – см. статью

  1. Нажать кнопку «Готово» в окне шага 17.
  2. После завершения установки рекомендуется перезагрузить компьютер или, как минимум, перезапустить службу SQL Server (Пуск→Все программы→Microsoft SQL Server 2005→Средства настройки→Диспетчер конфигурации SQL Server):

ВНИМАНИЕ! При установке SQL Server на НЕ русскоязычную ОС Windows необходимо в «Control Panel»→«Regional and Language Options» на закладке «Advanced» поставить язык «Russian» в параметре «Language for non-Unicode programs», затем перезагрузить компьютер:

Разделение ресурсов

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

Резервное копирование данных

Поскольку жизненно важная информация расположена централизованно, т.е. сосредоточена на одном или нескольких серверах, нетрудно обеспечить ее регулярное резервное копирование (backup).

Избыточность

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

Количество пользователей

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

Аппаратное обеспечение

Так как компьютер пользователя не выполняет функций сервера, требования к его характеристикам зависят от потребностей самого пользователя.

Более детально¶

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

Читать еще:  Как раскрутить страницу в фейсбук. Как раскрутить страницу в Facebook

Хостинг файлов¶

Во-первых, веб-сервер хранит файлы веб-сайта, а именно все HTML документы и связанные с ними ресурсы, включая изображения, CSS стили, JavaScript файлы, шрифты и видео.

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

  • всегда запущен и работает
  • постоянно в сети Интернет
  • имеет один и тот же IP адрес все время (не все провайдеры предоставляют статический IP адрес для домашнего подключения)
  • обслуживается на стороне

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

Связь по HTTP¶

Во-вторых, веб-сервер обеспечивает поддержку HTTP (hypertext transfer protocol). Как следует из названия, HTTP указывает, как передавать гипертекст (т.е. связанные веб-документы) между двумя компьютерами.

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

Текстовый

Не сохраняет состояние

HTTP задает строгие правила, как клиент и сервер должны общаться. Более подробно смотри http-protocol . Вот некоторые из них:

  • Только клиенты могут отправлять HTTP запросы, и только на сервера. Сервера отвечают только на HTTP запросы клиента.
  • Когда запрашивается физический файл, клиент должен сформировать file URL ( file:///var/log/syslog )
  • Веб-сервер должен ответить на каждый HTTP запрос, по крайней мере с сообщением об ошибке.

На веб-сервере, HTTP сервер отвечает за обработку входящих запросов и ответ на них.

  1. При получении запроса, HTTP сервер сначала проверяет существует ли ресурс по данному URL.
  2. Если это так, веб-сервер отправляет содержимое файла обратно в браузер. Если нет, сервер приложений создает необходимый ресурс.
  3. Если это не возможно, веб-сервер возвращает сообщение об ошибке в браузер, чаще всего «404 Not Found». (Эта ошибка настолько распространена, что многие веб-дизайнеры тратят большое количество времени на разработку 404 страниц об ошибках.)

Возможные Будущие Сервера [ править | править код ]

Переход на другие сервера

Данный список серверов содержит сервера, на которые были намеки, были анонсированы, или были часто запрашиваемыми.

  • Африканские Сервера (Часто запрашиваемый).
  • Riot объединит в Юго-восточные сервера Азий Сингапур/Малайзию, Тайланд, Вьетнам, Филиппины, и Индонезию (Часто запрашиваемый).
  • Сервер Ближнего Востока И Северной Африки (Подтверждено)

Активное изучение

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

Хостинг файлов

Прежде всего, веб-сервер должен содержать файлы веб-сайта, а именно все HTML-документы и связанные с ними ресурсы, включая изображения, CSS-стили, JavaScript-файлы, шрифты и видео.

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

  • всегда запущен и работает
  • всегда подключен к Интернету
  • имеет неизменный IP адрес (не все провайдеры предоставляют статический IP-адрес для домашнего подключения)
  • обслуживается третьей, сторонней компанией

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

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

Связь по HTTP

Во-вторых, веб-сервер обеспечивает поддержку HTTP (англ. Hypertext Transfer Protocol — гипертекстовый транспортный протокол). Как следует из названия, HTTP указывает, как передавать гипертекст (т.е. связанные веб-документы) между двумя компьютерами.

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

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

HTTP задает строгие правила взаимодействия клиента и сервера. Мы рассмотрим сам протокол HTTP в технической статье немного позднее. Пока достаточно знать об этих правилах:

  • Исключительно клиенты могут производить HTTP-запросы, и только на сервера. Сервера способны только отвечать на HTTP-запросы клиента.
  • При запросе файла по HTTP, клиент должен сформировать файловый URL.
  • Веб-сервер должен ответить на каждый HTTP-запрос, по крайней мере сообщением об ошибке.

На веб-сервере HTTP-сервер отвечает за обработку входящих запросов и ответ на них.

  1. При получении запроса, HTTP-сервер сначала проверяет, существует ли ресурс по данному URL.
  2. Если это так, веб-сервер отправляет содержимое файла обратно в браузер. Если нет, сервер приложения генерирует необходимый ресурс.
  3. Если ничто из этого не возможно, веб-сервер возвращает сообщение об ошибке в браузер, чаще всего “404 Not Found”. (Это ошибка настолько распространена, что многие веб-дизайнеры тратят большое количество времени на разработку 404 страниц об ошибках.)

Winginx

Если вы давно искали веб-сервер, который функционировал бы в среде NGINX, но не могли найти подходящий вариант, обратите внимание на Winginx. Это комплексный инструмент, поддерживающий разные языки программирования и несколько систем управления базами данных.

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

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

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