Установка и настройка HTTP-сервера NGINX




Здравствуйте, уважаемые читатели! Настала пора поведать вам, как из микрокомпьютера MB77.07 на специализированном телевизионном процессоре К1879ХБ1Я можно развернуть самый настоящий веб-сервер, на котором и работает сейчас этот сайт, на странице которого вы читаете эту заметку!


Сразу скажу, что из всего многообразия различных функциональных блоков СБИС К1879ХБ1Я для работы веб-сервера будет задействовано только одно ядро ARM1176JZF-S, работающее на частоте 324 МГц. Отечественный нейропроцессор NeuroMatrix NMC3, к сожалению, пока будет простаивать без дела. Кроме того, свободной оперативной памяти из штатных 128 Мб останется меньше половины. Значит, комфортно для посетителя сайт будет работать только на небольших статических HTML-CSS-JS страничках . Поэтому на микрокомпьютер я буду устанавливать портированный на Raspbian веб-сервер NGINX отечественной разработки, как наиболее экономичный к машинным ресурсам. К сожалению, мой провайдер даже под страхом страшной и мучительной смерти наотрез отказался предоставить мне обратную PTR-запись, необходимую для нормальной работы почтового сервера! Выходит, нет смысла устанавливать пакет nginx в полном комплекте. Итак, устанавливаться будет самый минимум - только сам http-сервер nginx-light:

Установщик требует всего 928 кб дискового пространства под 2 пакета минимальной комплектации программы. Отлично!

После установки нужно отредактировать файл настроек. Поскольку, веб-сервер будет использовать только одно ядро ARM1176JZF-S, нужно ограничиться одним рабочим процессом и 256-ю работающими соединениями. Дополнительно, в файле /etc/nginx/nginx.conf нужно указать пользователя, от учётной записи которого будут запускаться сервисы NGINX:

user логин;
worker_processes 1;
pid /run/nginx.pid;
events {
worker_connections 256;
# multi_accept on;
}

остальное содержимое файла нужно оставить без изменений. В-третьих нужно создать файл, например, cite, в каталоге /etc/nginx/sites-enabled и прописать имя сайта, ip-адрес микрокомпьютера и каталог хранения файлов:

server {
server_name домен ip-адрес;
root /var/www/html;
}

Наконец, остаётся только перезагрузить микрокомпьютер:

reboot


После перезагрузки можно проверить состояние сервисов NGINX:

Как видите NGINX после перезагрузке запущен и работает. Готово! Пора скопировать файлы сайта в каталог/var/www/html и по локальной сети уже можно посмотреть на сайт:


Что в итоге? Из 914 Мб основного раздела занято всего-то не больше 230 Мб, причём примено треть заняло обновление прошивки. Свободного места на микрокомпьютере остаётся целых 690 Мб! Добавлю, что на момент написания заметки (4.02.2018.) весь этот сайт занимал объём всего 3,4 Мб, из которых 2,3 Мб приходилось на вот этот файлик

Согласно штатному диспетчеру задач top,

из доступных 88 Мб свободно всего около 57 Мб, а фоновая загрузка составляет не больше 2% процессорного времени. Однако, в момент просмотра страницы через браузер, загрузка процессора может достигнуть 10%. Получается, без снижения производительности сайта микрокомпьютер может обработать не меньше десяти одновременных запросов, а потолком является посещаемость на уровне 80 запросов. По локальной сети скорость передачи файлов достигает 4 Мб/с, но практическая выгрузка файлов в интернет не превышает 1-2 Мб/с! А значит, для комфортного просмотра сайта с такого самодельного хостинга лучше ограничиться размером страничек с содержимым на уровне 0,3-0,5 Мб.


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


Обновлено - 10.12.2018. Описана установка на микрокомпьютер nginx-light - как предельно облегчённого и необременённого явно неиспользуемыми функциями.


Благодарю за внимание, доброго здоровья!



Сайт работает на микрокомпьютере