Рассмотрим довольно популярную связку 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;
}