Web Мастерская»Блог

Сообщество Web Мастеров. Тут собрано всё, чтобы написать свой первый сайт, запустить его в Интернет и поддерживать его в течении всей его работы.

Nginx vs Apache: Сравнение подходов и производительности

Современные веб-проекты требуют мощных, надежных и быстрых технологий для обслуживания миллионов пользователей ежедневно. Среди наиболее востребованных решений выделяются Nginx и Apache — два легендарных веб-сервера, обладающие уникальными характеристиками и преимуществами. Каждый из них имеет сильные и слабые стороны, зависящие от поставленных задач. Давайте сравним эти два продукта по нескольким важным критериям.

История и архитектура



Nginx
Разработанный российским программистом Игорем Сысоевым в 2002 году, Nginx изначально задумывался как эффективное средство борьбы с проблемой C10K (одновременная обработка 10 тысяч соединений). Nginx построен вокруг концепции асинхронной неблокирующей архитектуры, что позволило достичь высокого уровня производительности и масштабируемости.

Apache
Появившийся в середине 1990-х годов, Apache долгое время доминировал на рынке веб-серверов. Он основан на традиционной блокирующей архитектуре с возможностью использования многопоточности или...

Как заблокировать IP адрес пользователя в .htaccess

Сразу к делу! Допустим, нам необходимо заблокировать вот такой IP: xx.xx.xx.xxx, конечно, вместо иксов должны быть цифры, но в качестве пример, пойдет. Делаем так:
#User IP Banning
<Limit GET POST>
Order allow,deny
Deny from xx.xx.xx.xxx
Allow from All
</Limit>

Пример приведен с одним IP, чтобы заблокировать IP больше, просто, после строки:
Deny from xx.xx.xx.xxx

Добавляем Deny from тут IP и так каждый IP с новой строки:
#User IP Banning
<Limit GET POST>
Order allow,deny
Deny from xx.xx.xx.xxx
Deny from xx.xx.xx.xxx
Deny from xx.xx.xx.xxx
Deny from xx.xx.xx.xxx
Deny from xx.xx.xx.xxx
Allow from All
</Limit>

Если есть необходимость заблокировать все IP адреса, которые начинаются одинаково, например:
38.99.82.191
38.99.82.192
38.99.82.193

То тут необязательно писать каждый IP отдельно, достаточно написать так:
38.99.82.

И все IP, что начинаются на 38.99.82. будут заблокированы. Обратите внимание на точку в конце, если точку убрать, то блокироваться будут IP такого вида: 3...

Как убрать несколько идущих подряд слешей в URL (.htaccess)

Заметил, что с поисковой выдачи переходят по ссылкам, которые имеют несколько подряд идущие слеши, например: site///forum//342///. Я проверил, страница с таким набором слешей открывается, но все же это не правильно, я считаю. Убрать лишние слеши мне помог код:
RewriteCond %{THE_REQUEST} //
RewriteRule .* /$0 [R=301,L]

Который необходимо вставить в файл: ".htaccess", что находится в корне сайта. После этого все лишние слеши исчезли....

Поиск ошибок в PHP | Дебаг

При написании php скрипта легко допустить ошибку, из-за которой скрипт работать будет неправильно, либо вообще работать не будет. Страница пустая (белая) и ошибку очень сложно найти среди десятка тысяч символов... Для того что бы быстро найти ошибку, можно в ваш файл, после <?php добавить следующий код:
ini_set('display_errors', 'On');
error_reporting(E_ALL);

после этого должно появится сообщения с номером строки, в которой находится ошибка (правда этот вариант не всегда помогает).

Еще как вариант: добавить в файл .htaccess строку:
php_flag display_errors 1


Возможно, будет интересно:
...

Как заблокировать "claudebot" в .htaccess

На один форум зачастил бот claudebot, он не покидал темы форума, ни на минуту. Постоянно выходил с разных IP, так, что блокировать его по IP, нет смысла. Я нашел решение, выглядит оно так:
SetEnvIfNoCase User-Agent "claudebot" blockedBot

<Limit GET POST HEAD> 
Order Allow,Deny 
Allow from all
Deny from env=blockedBot
</Limit>

Я добавил этот код в .htaccess, что находится в корне сайта. После чего бот claudebot пока не появлялся.

Возможно, будет интересно: Блог: Как заблокировать IP адрес пользователя в .htaccess....