Настройка nginx как Фронтенд(Frontend) к Apache Часть 2: Настройка

Ну и собственно настройка в данном случае не особо сложная и есть существенное преимущество ее можно произвести на уже существующем сервере и работающем проекте.

1. Сначала нам надо изменить конфигурацию Apache. Его нужно перевесить на прослушку например порта 81 на адресе 127.0.0.1. Я использую сервер Linux Debian эта настройка задается в файле /etc/apache2/ports.conf

NameVirtualHost *:81 // здесь обычно указан 80 порт меняем на 81
Listen 127.0.0.1:81 // здесь обычно указан внешний ip адрес и 80 порт меняем

2. Правим nginx.conf


user www-data; # Пользователь от которого запускается процесс
worker_processes  4; # Количество рабочих процессов

error_log  /var/log/nginx/error.log; # куда сбрасываем логи
pid        /var/run/nginx.pid;

events {
worker_connections  1024; # Количество соединений
}

http {
include       /etc/nginx/mime.types;
default_type  application/octet-stream;
server_names_hash_bucket_size 64;
access_log  /var/log/nginx/access.log;
client_max_body_size 50m; # Максимальный размер файла для upload

sendfile        on;

keepalive_timeout  65;
tcp_nodelay        on;

gzip  on; # Сжатие

include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*; # Аналогично apache
}


С правкой nginx.conf в принципе завершено, остальные настройки можно указывать непосредственно в конфигах хостов

Проверка работоспособности конфига можно проверить командой:
sudo nginx -t


3. Правим конфиги хостов. Создадим файл host.ru в директории /etc/nginx/site-available
server {
        listen   80;
        server_name host.ru www.host.ru;

        access_log  /var/www/host.ru/logs/nginx-access.log;

        location / {
                proxy_pass         http://127.0.0.1:81/; # делаем переадресацию запросов на apache
                proxy_redirect     off;

                proxy_set_header   Host             $host;
                # Эти настройки необходимы, что бы из скриптов было видно реальные IP пользователя, а не фронт-части
                proxy_set_header   X-Real-IP        $remote_addr;
                proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;

                client_max_body_size       10m;
                client_body_buffer_size    128k;

                proxy_connect_timeout      90;
                proxy_send_timeout         90;
                proxy_read_timeout         90;

                proxy_buffer_size          4k;
                proxy_buffers              4 32k;
                proxy_busy_buffers_size    64k;
                proxy_temp_file_write_size 64k;
        }
}


4. Создаем симлинки
ln -s /etc/nginx/sites-available/host.ru /etc/nginx/sites-enabled/host.ru


5. Ставим mod_rpaf
apt-get install libapache2-mod-rpaf

6. Перезапуск серверов /etc/init.d/apache2 restart /etc/init.d/nginx restart

Комментарии

Популярные сообщения из этого блога

Две сетевые карты Windows 7. Настройка маршрутизации

Cisco Packet Tracer + Русификатор

Восстановление конфигурации Cisco с tftp сервера