Я пытаюсь работать над этим часами.
Я установил varnish и установил порт на 80. После этого я изменил директиву listen в моих файлах виртуального хоста nginx с 80 на 8080:
listen 8080;
Однако страница перенаправляется на неопределенный срок. Когда я проверял привязку порта, я обнаружил одну странную вещь: nginx слушает порт 80 и 8080, а varnish также слушает 80.
$ sudo lsof -P -n -i :80 -i :8080 -i :443 | grep LISTEN
nginx 8433 root 6u IPv4 2401466757 0t0 TCP *:80 (LISTEN)
nginx 8433 root 7u IPv4 2401466758 0t0 TCP *:8080 (LISTEN)
nginx 8436 www-data 6u IPv4 2401466757 0t0 TCP *:80 (LISTEN)
nginx 8436 www-data 7u IPv4 2401466758 0t0 TCP *:8080 (LISTEN)
nginx 8437 www-data 6u IPv4 2401466757 0t0 TCP *:80 (LISTEN)
nginx 8437 www-data 7u IPv4 2401466758 0t0 TCP *:8080 (LISTEN)
nginx 8438 www-data 6u IPv4 2401466757 0t0 TCP *:80 (LISTEN)
nginx 8438 www-data 7u IPv4 2401466758 0t0 TCP *:8080 (LISTEN)
nginx 8439 www-data 6u IPv4 2401466757 0t0 TCP *:80 (LISTEN)
nginx 8439 www-data 7u IPv4 2401466758 0t0 TCP *:8080 (LISTEN)
varnishd 8520 nobody 8u IPv6 2401837251 0t0 TCP *:80 (LISTEN)
Насколько мне известно, nginx должен слушать только порт 8080, а varnish должен слушать только порт 80. Но почему это происходит?
НОТА
listen 80;
осталось в любом из конфигурационных файлов.Скорее всего, у вас есть /etc/nginx/conf.d/default.conf, который присутствует в установках на основе rpm. У него есть хост по умолчанию, который прослушивает порт 80. Лучше всего обрезать этот файл, чтобы дальнейшие обновления не заменили его.