Категорії
WWW

nginx(frontend)+apache(backend)

Рассмотрим довольно популярную связку Apache+Nginx для снижения нагрузки на сервер. Так же, хочу заметить, что данная статья учитывает virtual hosts, а не отдельно хостящийся сайт (для такого сайта статья тоже подойдёт)

1) Настройки Apache

Апач у нас будет слушать порт 88. Файлы описания virtual хостов будут лежать у нас в vhosts относительно папки с конфигом apache и заканчиваться обязательно должны на ‘.conf’. В файл httpd.conf вписываем такое (или приводим к такому виду, если строки уже есть)

Listen 127.0.0.1:88
Include etc/apache22/vhosts/*.conf
NameVirtualHost *:88

Далее создаём файл sait.com в папке vhosts такого содержания:

<VirtualHost *:88>
ServerName sait.com
ServerAlias *.sait.com
DocumentRoot /www/sait.com
ErrorLog "/var/log/apache/sait.com-error"
CustomLog "/var/log/apache/sait.com-access" common
</VirtualHost>

Для добавления нового virtual хоста достаточно создать файл и добавить содержимое, аналогичное sait.com

2) Настройка nginx

nginx должен быть собран с поддержкой модуля HTTP_REALIP, иначе в apache будет неправильно передаваться адрес клиента (вместо реального будет светиться 127.0.0.1)

В nginx.conf, в директиве http пишем строку

include vhosts/*.conf;

Файлы описания virtual хостов будут лежать у нас в vhosts относительно папки с конфигом nginx и заканчиваться обязательно должны на ‘.conf‘. Вот пример конфигурации для сайта sait.com:

location / {
try_files $uri @drupal;
}
location ~ \.php$ {
proxy_pass http://127.0.0.1:88;
proxy_redirect default;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
client_max_body_size 10m;
client_body_buffer_size 128k;
proxy_send_timeout 180s;
proxy_read_timeout 180s;
proxy_buffer_size 32k;
proxy_buffers 16 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;
}
location @drupal {
proxy_pass http://127.0.0.1:88;
proxy_redirect default;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
client_max_body_size 10m;
client_body_buffer_size 128k;
proxy_send_timeout 180s;
proxy_read_timeout 180s;
proxy_buffer_size 32k;
proxy_buffers 16 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;
}

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *

Домашняя страничка Andy
Записки молодого админа
Самостоятельная подготовка к Cisco CCNA
Самостоятельная подготовка к Cisco CCNP
Powered by Muff