Вам нужно узнать, есть ли необходимый модуль в составе Nginx. По идее всё просто:
# nginx -VНа выходе портянка, в которой глазами трудно что-то найти. Пробуем грепнуть:
# nginx -V | grep http_realip_moduleВообще ноль изменений. И причины тут на самом деле не одна, а сразу две:
1️⃣ nginx -V выводит информацию не в стандартный поток с данными stdout, с которым работает grep и прочие консольные утилиты, а в stderr;
2️⃣ все модули перечислены одной строкой, так что грепнуть её содержимое не получится.
Показываю решение обоих проблем:
# nginx -V 2>&1 | tr ' ' '\n' | grep http_realip_module--with-http_realip_moduleВидим нужный нам модуль. Я сначала через
2>&1 направил поток stderr в stdout, чтобы с ним можно было работать консольными утилитами, а затем с помощью tr заменил все пробелы символами перехода на новую строку \n. В итоге у нас весь вывод nginx -V разбился на отдельные фразы, каждая в новой строке и после этого успешно грепнулся.В принципе, можно обойтись без разбивки одной строки на несколько, так как grep скорее всего подсветит найденную фразу, но это зависит от различных настроек. Где-то может и не подсветить. Если всё же разбить, то будет нагляднее.
❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки.
#bash
