Архив рубрики: nginx

Nginx+Apache2: реальные IP в логах индейца

Когда Apache используется в сочетании с Nginx в качестве бэкенда, все запросы на него прилетают с IP-адреса Nginx, выступающего в качестве прокси-сервера. Чтобы получить реальные IP-адреса этих запросов, необходимо установить и настроить модуль rpaf.
Читать далее

Redmine и Gitlab на одном сервере

Об установке Gitlab на сервере под управлением Debian Squeeze ранее уже было написано. Теперь разберемся, как добавить на сервер систему управления проектами Redmine и по возможности не сломать управление репозиториями.

Согласно официальной документации Redmine работа с бэкендом на ruby должна осуществляться через Apache mod passenger. Дальше будет описан способ отказаться от Apache и настроить работу через Nginx.

Читать далее

Обработка регулярок в nginx

Дабы не возвращаться к вниканию в официальную документацию, закреплю основные моменты конфигурирования nginx.
Синтаксис директивы location:

location [ = | ~ | ~* | ^~ ] uri { ... }

Порядок проверки директив location:

  1. = точное совпадение ссылки, поиск прекращается
  2. ^~ строки без регулярных выражений, поиск прекращается
  3. поиск подходящей регулярки, сначала на максимальное совпадение, затем по порядку в файле конфигурации (если 2 одинаковых, работает с верхним)
    • ~ совпадение с учетом регистра
    • ~* совпадение без учета регистра
  4. если подходит под регулярку — п3, иначе п2

Читать далее

Плавное обновление nginx

После ручной сборки nginx из исходных кодов выполнение перезапуска веб-сервера приведет к ошибке о занятом интерфейсе:

nginx: [emerg] bind() to [::]:80 failed (98: Address already in use)

Так происходит потому, что скрипт запуска (/etc/init.d/nginx) не обнаруживает в памяти запущенного рабочего процесса новой версии, а на старый не обращает внимания.
Читать далее

Свой WebDAV сервер на nginx

В предыдущей статье, посвященной данной теме, было описано, как завести у себя небольшой WebDAV сервер на Apache. Набирающий популярность веб-сервер nginx также также подходит для этих задач. Его модуль ngx_http_dav_module поддерживает основные WebDAV-методы PUT, DELETE, MKCOL, COPY и MOVE, а с помощью дополнения nginx-dav-ext-module можно включить поддержку остальных (PROPFIND и OPTIONS).
Читать далее