Проблему увеличения производительности веб-ресурса можно решить двумя способами. Первый наращивание мощности сервера (увеличение CPU и RAM), второй — использование прокси, который будет принимать часть нагрузки на себя. Наиболее популярным в качестве фронтэнд сервера является nginx.
Очень популярная тема в интернете, но, как правило, практически нет ни одной статьи, которая на 100% поможет в настройке, всегда приходится импровизировать.
Постараюсь оформить краткую инструкцию по настройке.
Для начала необходимо понять как работает такая связка.
Установка необходимых пакетов
Сначала настроим Apache на прослушивание другого порта, например 8080.
/etc/apache2/ports.conf
Также, если запущены виртуальные хосты, поменять и в них.
/etc/apache2/sites-available/default
Перезагрузим Apache и он будет работать на порту 8080.
Настроим nginx.
server {
listen *:80; ## listen for ipv4
server_name ВАШ_ДОМЕН;
# Перенаправление на back-end
location / {
proxy_pass ВАШ_ДОМЕН:8080/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_connect_timeout 120;
proxy_send_timeout 120;
proxy_read_timeout 180;
}
# Статическиое наполнение отдает сам nginx
location ~* \.(jpg|jpeg|gif|png|ico|css|bmp|swf|js|html|txt)$ {
root ПУТЬ_ДО_КОРНЕВОГО_КАТАЛОГА_САЙТА;
}
}