Я настраиваю веб-сервер nginx с php-fpm и (d) dos deflate, чтобы запретить атаки.
Сейчас на моем сервере вообще нет трафика, так как я тестирую.
С помощью этой команды я могу увидеть, кто подключен к моему серверу и сколько подключений у них открыто:
netstat -ntu | awk '{print $ 5}' | вырезать -d: -f1 | сортировать | uniq -c | sort -n
Во время тестирования я заметил, что когда я загружаю тестовый сценарий, который в основном <?php phpinfo(); ?>
это запустило бы 3 соединения. Я предполагаю, что 1 для HTML и 2 для 2 изображений на этой странице. Пока все хорошо ...
Но я заметил, что прошло больше минуты, прежде чем эти 3 соединения закрылись. Я продолжал выполнять указанную выше команду netstat, чтобы увидеть, закроются ли эти 3 внешних соединения.
У моего nginx.conf таймаут активности равен 4.
keepalive_timeout 4;
Подключение было выполнено через браузер Chrome, установленный по умолчанию.
Почему эти связи оставались открытыми так долго, и нормально ли это? Кроме того, есть ли способ закрыть их раньше?
Вы можете увеличить или уменьшить тайм-ауты TCP-сокетов, используя файл tcp_keepalive_time, который находится в каталоге / proc / sys / net / ipv4 /.
Значение тайм-аута по умолчанию - 7200 (2 часа).
Например, чтобы перейти на 1200 секунд, введите следующую команду:
#echo 1200 > /proc/sys/net/ipv4/tcp_keepalive_time