Конфигурация frontend к Apache

Снизим нагрузку на сервер и уменьшим время отклика, поставив между посетителем и Apache легкий nginx. Он будет часть запросов перенаправлять к Apache, а часть — обслуживать сам.

Перенесем Apache на другой порт/IP и поставим на его место nginx. Для этого изменим в httpd.conf параметр Listen, например так:

Listen 127.0.0.1:80

Если у вас несколько IP и вы хотите заменить Apache на nginx только на одном из них, укажите несколько параметров Listen:

#Listen 192.168.1.1:80
Listen 127.0.0.1:80

Listen 192.168.1.2:80
Listen 192.168.1.3:80

Больше ничего менять в конфигурации Apache не нужно.

Для nginx настройки будут выглядеть так:

server {
    listen 192.168.1.1:80;
    server_name example.com www.example.com;
    ...
    
    location / {
        proxy_pass http://127.0.0.1:80/;
	proxy_set_header Host $host;
	proxy_set_header X-Real-IP $remote_addr;
	proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
    location ~* \.(jpg|gif|png|css|js)$ {
	root /var/www/example.com/;
    }
}

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

Ссылки