Когда Apache используется в сочетании с Nginx в качестве бэкенда, все запросы на него прилетают с IP-адреса Nginx, выступающего в качестве прокси-сервера. Чтобы получить реальные IP-адреса этих запросов, необходимо установить и настроить модуль rpaf.
Читать далее
Архив рубрики: nginx
Redmine и Gitlab на одном сервере
Об установке Gitlab на сервере под управлением Debian Squeeze ранее уже было написано. Теперь разберемся, как добавить на сервер систему управления проектами Redmine и по возможности не сломать управление репозиториями.
Согласно официальной документации Redmine работа с бэкендом на ruby должна осуществляться через Apache mod passenger. Дальше будет описан способ отказаться от Apache и настроить работу через Nginx.
Обработка регулярок в nginx
Дабы не возвращаться к вниканию в официальную документацию, закреплю основные моменты конфигурирования nginx.
Синтаксис директивы location:
location [ = | ~ | ~* | ^~ ] uri { ... }
Порядок проверки директив location:
- = точное совпадение ссылки, поиск прекращается
- ^~ строки без регулярных выражений, поиск прекращается
- поиск подходящей регулярки, сначала на максимальное совпадение, затем по порядку в файле конфигурации (если 2 одинаковых, работает с верхним)
- ~ совпадение с учетом регистра
- ~* совпадение без учета регистра
- если подходит под регулярку — п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).
Читать далее