Discussion:
Подключение модуля ngx http upstream module
Vvedensky
8 years ago
Permalink
Здравствуйте. Не могу подключить модуль ngx_http_upstream_module в Ubuntu.
Делаю следующее:
1. Скачал дистрибутив nginx-1.10.1 и распаковал его в папку
2. Считал текущую конфигурацию nginx, установленную ранее
3. Делаю команду ./configure добавляя к имеющейся конфигурации
--with-ngx_http_upstream_module

Сервер выдаёт ошибку ./configure: error: invalid option
"--with-ngx_http_upstream_module"
Что делаю не правильно?

Posted at Nginx Forum: https://forum.nginx.org/read.php?21,271706,271706#msg-271706
Maxim Konovalov
8 years ago
Permalink
Post by Vvedensky
Здравствуйте. Не могу подключить модуль ngx_http_upstream_module в Ubuntu.
1. Скачал дистрибутив nginx-1.10.1 и распаковал его в папку
2. Считал текущую конфигурацию nginx, установленную ранее
3. Делаю команду ./configure добавляя к имеющейся конфигурации
--with-ngx_http_upstream_module
Сервер выдаёт ошибку ./configure: error: invalid option
"--with-ngx_http_upstream_module"
Что делаю не правильно?
Нет такой опции.

Предлагаю воспользоваться бинарными пакетами:

http://nginx.org/en/linux_packages.html#stable
--
Maxim Konovalov
Vvedensky
8 years ago
Permalink
Что значит "воспользоваться бинарными пакетами"? Поясните пожалуйста, я
новичок в этом. Вот описание модуля на сайте nginx
http://nginx.org/ru/docs/http/ngx_http_upstream_module.html#ntlm, при
распаковке дистрибутива http://nginx.org/download/nginx-1.10.1.tar.gz есть
файл nginx-1.10.1/src/http/ngx_http_upstream.c разве это не этот модуль?

Posted at Nginx Forum: https://forum.nginx.org/read.php?21,271709,271710#msg-271710
Maxim Konovalov
8 years ago
Permalink
Post by Vvedensky
Что значит "воспользоваться бинарными пакетами"? Поясните пожалуйста, я
новичок в этом. Вот описание модуля на сайте nginx
Я же дал ссылку. Вот, даже на русском:

http://nginx.org/ru/linux_packages.html#stable
Post by Vvedensky
http://nginx.org/ru/docs/http/ngx_http_upstream_module.html#ntlm, при
распаковке дистрибутива http://nginx.org/download/nginx-1.10.1.tar.gz есть
файл nginx-1.10.1/src/http/ngx_http_upstream.c разве это не этот модуль?
Поясните, какая конечная цель? Если вам нужна поддержка директивы
ntlm, то обращаю внимание на текст из вашей ссылки:

"Эта директива доступна как часть коммерческой подписки."
--
Maxim Konovalov
Vvedensky
8 years ago
Permalink
Да, я обратил внимание, что часть опций - коммерческая подписка. Меня
интересуют переменные $upstream_connect_time, $upstream_response_time и т.д.
с целью понять в каких ситуациях происходит замедление выдачи контента
сайта, если верить GoogleAnalytics, такие ситуации происходят и задержки
могут быть значительными.

Posted at Nginx Forum: https://forum.nginx.org/read.php?21,271709,271712#msg-271712
Maxim Konovalov
8 years ago
Permalink
Post by Vvedensky
Да, я обратил внимание, что часть опций - коммерческая подписка. Меня
интересуют переменные $upstream_connect_time, $upstream_response_time и т.д.
с целью понять в каких ситуациях происходит замедление выдачи контента
сайта, если верить GoogleAnalytics, такие ситуации происходят и задержки
могут быть значительными.
Никаких специальных опций для configure не нужно, этот код собирается
по умолчанию.

Чтобы ничего не собирать сейчас и в будущем, настройте репозиторий и
установите бинарный пакет, который мы для вас уже собрали. Ссылки на
текст с описанием как это сделать я приводил ранее.
--
Maxim Konovalov
Vvedensky
8 years ago
Permalink
Post by Maxim Konovalov
Никаких специальных опций для configure не нужно, этот код собирается
по умолчанию.
Т.е. вы хотите сказать, что если у меня на сервере ранее был установлен
nginx, то переменные $upstream_connect_time, $upstream_response_time должны
быть доступны для использования?
Post by Maxim Konovalov
Чтобы ничего не собирать сейчас и в будущем, настройте репозиторий и
установите бинарный пакет, который мы для вас уже собрали.
Репозитарий nginx я настроил. Что значит "бинарный пакет, который мы для вас
уже собрали"? Имеется ввиду собрали сейчас или собрали когда вышел
nginx-1.10.1? Сейчас установлен nginx-1.10.1 из репозитария Ubuntu 16.04
имеет ли смысл его переустанавливать на ваш или указанные выше переменные
$upstream_connect_time, $upstream_response_time должны быть доступны и в
установленной версии из репозитария Ubuntu?

Posted at Nginx Forum: https://forum.nginx.org/read.php?21,271709,271714#msg-271714
Maxim Konovalov
8 years ago
Permalink
Post by Vvedensky
Post by Maxim Konovalov
Никаких специальных опций для configure не нужно, этот код собирается
по умолчанию.
Т.е. вы хотите сказать, что если у меня на сервере ранее был установлен
nginx, то переменные $upstream_connect_time, $upstream_response_time должны
быть доступны для использования?
Да.
Post by Vvedensky
Post by Maxim Konovalov
Чтобы ничего не собирать сейчас и в будущем, настройте репозиторий и
установите бинарный пакет, который мы для вас уже собрали.
Репозитарий nginx я настроил. Что значит "бинарный пакет, который мы для вас
уже собрали"? Имеется ввиду собрали сейчас или собрали когда вышел
nginx-1.10.1? Сейчас установлен nginx-1.10.1 из репозитария Ubuntu 16.04
Собрали, когда вышел 1.10.1.
Post by Vvedensky
имеет ли смысл его переустанавливать на ваш или указанные выше переменные
$upstream_connect_time, $upstream_response_time должны быть доступны и в
установленной версии из репозитария Ubuntu?
Не имеет.

Если и что-то устанавливать новое, то 1.10.2, а лучше -- 1.11.8,
который планируется сегодня. Но эта тема к вашему вопросу прямого
отношения не имеет.
--
Maxim Konovalov
Vvedensky
8 years ago
Permalink
Вот формат логов заданный для nginx в конфигурации:
log_format main '$remote_addr - $remote_user [$time_local] "$request"
'
'$status $body_bytes_sent "$http_referer"
'
'"$http_user_agent" "$http_x_forwarded_for"
"$upstream_response_time"';
И вот что пишется в лог-файл:
93.158.152.83 - - [27/Dec/2016:15:14:27 +0500] "GET / HTTP/1.1" 301 185 "-"
"Mozilla/5.0 (compatible; YandexBot/3.0; +http://yandex.com/bots)" "-" "-"
95.108.129.196 - - [27/Dec/2016:15:16:22 +0500] "GET / HTTP/1.1" 301 185 "-"
"Mozilla/5.0 (compatible; YandexMetrika/2.0; +http://yandex.com/bots
mtmon01e.yandex.ru)" "-" "-"

Вместо значения $upstream_response_time показывает прочерк. Почему так, если
вы пишите, что переменная доступна по умолчанию?

Posted at Nginx Forum: https://forum.nginx.org/read.php?21,271709,271716#msg-271716
Maxim Konovalov
8 years ago
Permalink
...
Наверное потому, что запрос был обработан локально, без участия
апстримов?

Добавьте в log_format переменную $upstream_addr, будет больше
информации по апстримам:

http://nginx.org/ru/docs/http/ngx_http_upstream_module.html#var_upstream_addr

Если бы переменная не была доступна, то nginx заругался на этапе
загрузки/проверки конфигурации, e.g. nginx -t.
--
Maxim Konovalov
Vvedensky
8 years ago
Permalink
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for" '
'$upstream_addr "$upstream_response_time"';

root# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

66.249.93.45 - - [27/Dec/2016:15:52:17 +0500] "GET /products HTTP/1.1" 301
185 "-" "Mozilla/5.0 (Linux; Android 6.0.1; Nexus 5X Build/MMB29P)
AppleWebKit/537.36 (KHTML, like Gecko; Google Page Speed Insights)
Chrome/27.0.1453 Mobile Safari/537.36" "178.20.235.164" "-"
94.77.88.169 - - [27/Dec/2016:15:54:21 +0500] "GET /products HTTP/1.1" 301
185 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like
Gecko) Chrome/39.0.2171.71 Safari/537.36" "-" - "-"
94.77.115.174 - - [27/Dec/2016:15:54:22 +0500] "GET / HTTP/1.1" 301 185 "-"
"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML,
like Gecko) Chrome/39.0.2171.95 Safari/537.36" "-" - "-"
178.20.235.164 - - [27/Dec/2016:15:54:22 +0500] "GET /robots.txt HTTP/1.1"
301 185 "-" "RookeeBot" "-" - "-"
66.249.93.43 - - [27/Dec/2016:15:54:23 +0500] "GET /products HTTP/1.1" 301
185 "-" "Mozilla/5.0 (Linux; Android 6.0.1; Nexus 5X Build/MMB29P)
AppleWebKit/537.36 (KHTML, like Gecko; Google Page Speed Insights)
Chrome/27.0.1453 Mobile Safari/537.36" "178.20.235.164" - "-"
163.172.67.180 - - [27/Dec/2016:15:54:34 +0500] "GET / HTTP/1.1" 301 185 "-"
"Mozilla/5.0 (Windows NT 5.1; rv:7.0.1) Gecko/20100101 Firefox/7.0.1" "-" -
"-"

Вот что получилось. То пишет адрес, то нет. Не понятен результат.

Posted at Nginx Forum: https://forum.nginx.org/read.php?21,271709,271718#msg-271718
Evgeniy Berdnikov
8 years ago
Permalink
Post by Vvedensky
Вот что получилось. То пишет адрес, то нет. Не понятен результат.
1. В логе только редиректы, запросы с другими статусами есть?
2. Сравнивайте с логами апстрима.
--
Eugene Berdnikov
Vvedensky
8 years ago
Permalink
Вот что получилось:
141.8.183.17 - - [27/Dec/2016:17:10:06 +0500] "GET / HTTP/1.1" 200 12327 "-"
"Mozilla/5.0 (compatible; YandexMetrika/2.0; +http://yandex.com/bots
yabs01)" "-" unix:/var/www/php-fpm/site.sock "0.047"
93.158.152.83 - - [27/Dec/2016:17:10:10 +0500] "GET /meter HTTP/1.1" 200
16054 "-" "Mozilla/5.0 (compatible; YandexImages/3.0;
+http://yandex.com/bots)" "-" unix:/var/www/php-fpm/site.sock "0.069"

Здесь фиксируется время выполнения кода php, а как узнать время от получения
запроса сервером nginx до его выдачи (ведь могут быть различные задержки)?

Posted at Nginx Forum: https://forum.nginx.org/read.php?21,271709,271721#msg-271721
Дмитрий Андреев
8 years ago
Permalink
ЗЎесь фОксОруется вреЌя выпПлМеМОя кПЎа php, а как узМать вреЌя Пт
пПлучеМОя
запрПса серверПЌ nginx ЎП егП выЎачО (веЎь ЌПгут быть разлОчМые заЎержкО)?
http://nginx.org/ru/docs/http/ngx_http_core_module.html#var_request_time
Andrey Kopeyko
8 years ago
Permalink
...
Вы МеверМП ОМтерпретОрПвалО результат - upstream_addr Ме МапОсаМ МО ПЎМПй Оз
вышепрОвеЎёММых стрПк.

В первПй стрПке - зМачеМОе аЎреса в кавычках, а ваш фПрЌат лПга пПстулОрует
чтП $upstream_addr ЎПлжМа быть запОсаМа без ПкружающОх кавычек; верПятМее
всегП этП зМачеМОе "$http_x_forwarded_for", залПгОрПваММПе уЌОрающОЌ
рабПчОЌ прПцессПЌ, рабПтающОЌ ещё сП старПй кПМфОгурацОей, без лПгОрПваМОя
$upstream_addr
--
Best regards,
Andrey Kopeyko <***@kopeyko.ru>
Vadim A. Misbakh-Soloviov
8 years ago
Permalink
1.11.8, который планируется сегодня
А "сегодня" по какому часовому поясу? :)
Maxim Dounin
8 years ago
Permalink
Hello!
Post by Vadim A. Misbakh-Soloviov
1.11.8, который планируется сегодня
А "сегодня" по какому часовому поясу? :)
Часовой пояс в письме указан же:

Date: Tue, 27 Dec 2016 13:03:28 +0300

Но и по +0700 тоже, вероятно, сегодня. :)
--
Maxim Dounin
http://nginx.org/
Maxim Konovalov
8 years ago
Permalink
Post by Vadim A. Misbakh-Soloviov
1.11.8, который планируется сегодня
А "сегодня" по какому часовому поясу? :)
Да почти по любому. С наступающим!
--
Maxim Konovalov
Loading...