Учитывая техническую особенность хостинга *****, когда каждый сайт работает под индивидуальным пользователем и имеет ограниченный пул коннектов, зависящий от тарифного плана, то некоторые неофиты считают, если выделенно 50 подключений то больше 50 человек на сайт не зайдут.
Я использую nginx в качестве аккселератора. Когда запрос от клиента направляется к серверу, то он попадает на nginx, который в свою очередь запрашивает содержимое у вебсервера apache и потом отдает его клиенту. Секрет прост - пока nginx отдает содержимое - apache доступен для новых запросов. Особенно это актуально для медленных клиентов и wap сайтов.
Теперь я расскажу как это сделать. Необходим будет сам nginx, поддержка nat в iptables и mod_rpaf по желанию.
Я настраиваю nginx на порту отличном от 80-го, где работает apache. Допустим на 85-ом. Необходимо сконфигурирвать nginx так, чтоб все запросы передавались apache, так как на одном IP может быть много виртуальных хостов:
listen 66.29.116.100:85;
access_log off;
location / {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://66.29.116.100:80;
}
}
После этого запустите nginx и проверьте, открывается ли сайт на 85 порте. Думаю, что все будет работать если вы не просто скопируете но еще и замените IP на свой.
Если все работает, осталось только пробросить запросы с 80 порта на 85. Делается это с помощью iptables:
iptables -t nat -A PREROUTING -p tcp -m tcp -d 66.29.116.100 --dport 80 -j DNAT --to-destination 66.29.116.100:85
Для того, чтоб в логах apache указывались IP клиентов - надо поставить mod_rpaf и указать там IP, которые передают запросы nginx:
RPAFenable On
RPAFsethostname On
RPAFproxy_ips 66.29.116.100
Надеюсь, что эта информация будет полезна.
***
Реклама в этом разделе запрещена, поэтому название компании удалено/ Moderator