sed вставить строку, после искомой строки

sed вставить строку, после искомой строки

Возникла необходимость, в конфигурации стапитцот виртуалхостов nginx добавить кеширование, вспомнил про sed и решил сделать все это с его помощью. Основные настройки кеширования вынес в отдельный файл /etc/nginx/cache.conf и после решил инклудить его в конфиг файле виртуалхостов с помощью команды: go to 1;

т.е. после строки в конфиге proxy_pass будет добавлена наша строка с…

Debian установка nginx из исходников, компиляция с дополнительными модулями

nginx2
Небольшое howto по сборке nginx из исходников.
Ставим зависимости

aptitude install build-essential libpcre3 libpcre3-dev libpcrecpp0 libssl-dev zlib1g-dev

выкачиваем nginx, мне также необходим был модуль headers-more-nginx-module

wget http://nginx.org/download/nginx-1.4.7.tar.gz
wget https://github.com/agentzh/headers-more-nginx-module/archive/v0.25.tar.gz

распаковываем наше добро

tar zxf nginx-1.4.7.tar.gz
tar zxf v0.25.tar.gz

конфигурируем

cd nginx-1.4.7
./configure     --prefix=/usr     --conf-path=/etc/nginx/nginx.conf     --error-log-path=/var/log/nginx/error.log     --http-log-path=/var/log/nginx/access.log     --pid-path=/var/run/nginx.pid     --lock-path=/var/lock/nginx.lock     --with-http_ssl_module     --user=nginx     --group=nginx     --with-http_stub_status_module     --with-http_gzip_static_module     --without-mail_pop3_module     --without-mail_imap_module     --without-mail_smtp_module    --add-module=~/headers-more-nginx-module-0.25/

через —add-module=~/headers-more-nginx-module-0.25/ — задаем путь к доп модулю

nginx-frontend + nginx-backend реальные ip адреса посетителей

nginx
В http {} или в секцию нужного server {} или location {} добавляем

set_real_ip_from 192.168.0.0/24;
real_ip_header X-Real-IP;

где

192.168.0.0/24

— подсеть с которой разрешаем принимать X-Real-IP, можно указать просто ip адрес,
не забываем добавить

proxy_set_header   X-Real-IP        $remote_addr;

в proxy_pass

Nginx, симлинк /var/www в Dropbox

Решил все свои наработки из www синхронизировать с бросайкоробкой, сделал симлинк на дропбоксовскую директорию, и с улыбкой открыл в браузере для теста любой скрипт, в ответ получил 500 ошибку, в логе 2013/03/11 19:10:14 [error] 3010#0: *24 rewrite or internal redirection cycle while internally redirecting to «/index.html», client: 127.0.0.1, server: localhost, request: «GET /favicon.ico HTTP/1.1», host:…

Nginx выключить отображение сайта при обращении к ip адресу


Добавляем в конфиг

server {
listen 80 default_server;
server_name _;
return 403;
}

Теперь при обращении к айпи адресу, будет возвращаться 403 ошибка

nginx редирект в зависимости от ip адреса источника запроса

В nginx.conf раздел http добавляем следующее:

map $remote_addr $my_rfc1918_network {
default 0;
192.168.0.1 1;
}

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

CentOS, nginx apache mod_rpaf

В основном репозитории нет mod_rpaf, установим с centos.alt.ru, начнем с его установки:

rpm -ihv http://centos.alt.ru/repository/centos/6/x86_64/centalt-release-6-1.noarch.rpm

ставим модуль

yum -y --enablerepo=CentALT install mod_rpaf

конфигурируем апач:

nano  /etc/httpd/conf/httpd.conf

вставляем в него:

LoadModule rpaf_module modules/mod_rpaf-2.0.so
RPAFenable On
RPAFsethostname Off
RPAFproxy_ips 127.0.0.1 xx.xx.xx.xx
RPAFheader X-Real-IP

где xx.xx.xx.xx внешний ип

Nginx — 413 Request Entity Too Large

Ошибка вылазит при попытке загрузить на сервер файл больше одного мегабайта, причина тому client_max_body_size, который по умолчанию, если не указывать в конфиге, всегда равен 1 мегабайту. Лечится просто, открываем конфиг nginx и дописываем в директиву http {
следующий параметр:

client_max_body_size 2m;

з.ы. можете поставить больше 😉