Снизим нагрузку на сервер и уменьшим время отклика, поставив между посетителем и 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.