sed вставить строку, после искомой строки
Возникла необходимость, в конфигурации стапитцот виртуалхостов nginx добавить кеширование, вспомнил про sed и решил сделать все это с его помощью. Основные настройки кеширования вынес в отдельный файл /etc/nginx/cache.conf и после решил инклудить его в конфиг файле виртуалхостов с помощью команды:
go to 1;
sed '/proxy\_pass/a include \/etc\/nginx\/cache.conf;' nginx.conf>nginx.conf.tmp
т.е. после строки в конфиге proxy_pass будет добавлена наша строка с инклудом файла.
Все что останется, заменить файл конфига тем что мы создали:
mv nginx.conf.tmp nginx.conf
и передернуть nginx, предварительно протестировав конфиг:
nginx -t
рестарт:
/etc/init.d/nginx restart
1: Кстати, никто не забыл, что всегда надо делать бекап файлов перед тем как вносить изменения?
cp nginx.conf nginx.conf.bac
P.S. super sed
Поделись с друзьями:
Опубликовано 09.10.2014 в 13:34 · Автор komivlad · Ссылка
Рубрики: ArchLinux, CentOS, Debain, Fedora, FreeBSD, Linux Mint, ProxMox, Raspberry Pi, Ubuntu · Теги: nginx, sed, вставить, искомой, после, строку
Рубрики: ArchLinux, CentOS, Debain, Fedora, FreeBSD, Linux Mint, ProxMox, Raspberry Pi, Ubuntu · Теги: nginx, sed, вставить, искомой, после, строку
08.10.2016 в 08:12
· Ссылка
sed -i.bak '/proxy\_pass/a include \/etc\/nginx\/cache.conf;\n' nginx.conf
так кошернеее