Цель:
— Установить связку nginx frontend (отдача статики) + apache22 (+php52) backend (обработка php)
— Вернуть в логи apache реальный ip-адрес запроса, а не ip-адрес nginx.
1) Устанавливаем nginx
|
|
Появится окно выбора нужных опций. Я убираю использование протокола Ipv6 и нажимаю Ок:
2) Устанавливаем apache22 и php52 если они не установлены.
Детальная установка описана в статье — Установка веб-сервера apache22+php52
Далее:
Во всех, используемых у Вас, конфигах apache и виртуалхостов, меняем порт прослушивания c 80 на 88:
httpd.conf:
|
|
httpd-vhosts.conf:
|
|
soulbrat.org.ua.conf:
|
|
3) Ставим mod_rpaf для решения проблемы определения рального IP для apache
|
|
После установки идем в:
|
|
находим строку:
|
|
и раскоментируем её.
|
|
Если, при перезапуске апача у Вас возникает ошибка «Can’t locate API module structure `rpaf2_module’ in file /usr/local/libexec/apache22/mod_rpaf2.so»
Проверте, что бы название модуля rpaf_module — было без цифры «2″ . Этот баг исправили в новой версии модуля.
В конце файла httpd.conf, добавляем следующие строки:
|
|
сохраняем httpd.conf и закрываем.
4) Сохраняем с другим именем созданный конфиг nginx.conf и создаем свой:
|
|
создаем свой конфиг:
|
|
|
|
Создаем необходимые каталоги:
|
|
Добавляем nginx в автозапуск:
|
|
Теперь необходимо создать нужные виртуалхосты, все которые прописаны в apache. Создадим один, по этому примеру создаются и остальные:
|
|
|
|
Если вы прописали использование фильтров default accept_filter=httpready
необходимо включить их в ядро командами:
|
|
Проверяем:
|
|
Что бы модули грузили автоматически, при перезагрузке системы, пропишите запуск в файл loader.conf:
|
|
|
|
Теперь все готово к запуску.
Перезагружаем apache и запускаем nginx:
|
|
|
|
Если все запустилось без ошибок,значит все найстроки прописаны верно. Можете проверяь работу вашего сайта на новой связке nginx (frontend) + apache (backend)
=================
Несколько советов по работе с алиасами nginx:
=================
Конструкция алиаса:
|
|
просто отдаст запрос апачу на алиас phpmyadmin, используя адрес локалхоста. Если вам необходимо передавать в заголовке имя, передаваемое к проксируемому серверу, пропишите так:
|
|
Еще пример, если для сбора статистики вы используете awstats, конструкция выглядит так:
location ^~ /awstatsicons {
alias /usr/www/soulbrat.org.ua/awstats/icons/;
access_log off;
}
location ^~ /awstatscss {
alias /usr/www/soulbrat.org.ua/awstats/css/;
access_log off;
}
location ^~ /awstatsclasses {
alias /usr/www/soulbrat.org.ua/awstats/classes/;
access_log off;
}
По материалам: soulbrat.org.ua/?p=971
RSS & RSS to Email