Главная » Установка и настройка Nginx как FrontEnd
Перед нами стоит задача, поставить Nginx как frontend что бы он обрабатывал только некоторые типы файлов, как мы знаем типы файлов — css, js, jpg, gif, exe, tar, pdf и другие подобные — это статические файлы, обрабатывая такие типы файлов веб-сервером nginx мы снизим нагрузку на веб-сервер Apache и получим хороший прирост к производительности.
И так приступим:

1. Устанавливаем Nginx
Установка Nginx занимает несколько секунд.
Для Debian:
apt-get install nginx

FreeBSD:
cd /usr/ports/www/nginx
make install clean

Конфигурационные файлы nginx находится в каталогах
Debian — /etc/nginx/nginx.conf
FreeBSD — /usr/local/etc/nginx/nginx.conf

2. Настройка Apache.
Настроим Apache, откроем конфигурационный файл, (имя файла зависит от версии Apache и платформы).В нашем случае установлен Apache версии 2.2.11 и конфигурационный файл в FreeBSD и Debian находятся по следующим путям:

Debian — /etc/apache2/ports.conf
FreeBSD — /usr/local/etc/apache2/httpd.conf

Находим строчку вида
Listen 123.123.123.123:80

где “123.123.123.123:80?
ето ip вашего сервера (или же ip адрес и порт который слушает apache)
и изменим порт например на 8080. У нас должно получится
Listen 123.123.123:8080

На етом настройка Apache в качестве бекенда закончена. Преступим к настройке nginx
3. Настройка Nginx
Отредактируем файл конфигурации nginx.
между (перед закрывающейся } )
http {
......
}

вставляем:
server {
listen 123.123.123.123:80; # ip вашего сервера и порт
server_name sitename.ru www.sitename.ru; # Имя вашего домена с www и без (можно так же прописать алиасы)
location / {
proxy_pass http://123.123.123.123:8080/; # здесь мы указываем где находится Apache и что ему необходимо переадресовывать все запросы

proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarder_for;
}
location ~* .(jpeg|jpg|gif|png|css|js|pdf|txt|tar)$ { # Типы файлов которые будет обрабатывать nginx без обращения к apache
root /home/www/sitename.ru/public_html; # Путь к корневому каталогу вашего сайта
}
}

Строки заголовка запроса X-Real-IP и X-Forwarded-For нужны будут вам если вы в своих скриптах используете информацию об IP-адресе посетителя или хотите скрыты от скриптов разделение на фрондэнд/бэкэнд и видеть нормальные IP пользователей, вместо IP фронтэнда, в таком случае вам необходимо будет дополнительно установить и настроить модуль mod_rpaf.

4. Установка mod_rpaf
При работе данной связки, HTTP запросы сначала обрабатываются с помощью nginx, а потом передаются apache. В этом случае HTTP запрос происходит с IP-адреса, на котором расположен nginx, а не с IP, с которого на самом деле пришёл запрос. Это создаёт определённые неудобства: в скриптах форумов/блогов/гостевых книг/т.п. IP пользователей, оставивших ответ на странице, указываются как IP сервера. Потому mod_rpaf служит для того, чтобы восстановить настоящий IP после обработки запроса nginx'ом.
Приступим к установке:
FreeBSD
cd /usr/ports/www/mod_rpaf
make install clean

После установки откройте конфигурационный файл Apache и проверьте наличие следующей строки :
LoadModule rpaf_module libexec/apache22/mod_rpaf.so

если такой строки нет, добавьте, но указывайте свой путь к файлу mod_rpaf.so
Также добавьте следующие строчки в конфигурационный файл apache заменив при етом 123.123.123.123 на Ip адрес Вашего сервера
RPAFenable On
RPAFsethostname On
RPAFproxy_ips 123.123.123.123
RPAFheader X-Forwarded-For

Категория: Linux | Просмотров: 599