Установка и настройка 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, один рабочий процесс и лимит в 256 соединений:

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:

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


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

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

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


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


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


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



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