comparison xml/ru/docs/http/ngx_http_upstream_module.xml @ 1450:f5b5eefc43cb

Updated commercial docs for the upcoming release.
author Ruslan Ermilov <ru@nginx.com>
date Thu, 09 Apr 2015 19:18:54 +0300
parents 23b409d1f5c7
children 4e5cab61e548
comparison
equal deleted inserted replaced
1449:c79501e16e26 1450:f5b5eefc43cb
8 <!DOCTYPE module SYSTEM "../../../../dtd/module.dtd"> 8 <!DOCTYPE module SYSTEM "../../../../dtd/module.dtd">
9 9
10 <module name="Модуль ngx_http_upstream_module" 10 <module name="Модуль ngx_http_upstream_module"
11 link="/ru/docs/http/ngx_http_upstream_module.html" 11 link="/ru/docs/http/ngx_http_upstream_module.html"
12 lang="ru" 12 lang="ru"
13 rev="35"> 13 rev="36">
14 14
15 <section id="summary"> 15 <section id="summary">
16 16
17 <para> 17 <para>
18 Модуль <literal>ngx_http_upstream_module</literal> 18 Модуль <literal>ngx_http_upstream_module</literal>
52 <para> 52 <para>
53 Динамически настраиваемая группа, 53 Динамически настраиваемая группа,
54 доступна как часть 54 доступна как часть
55 <commercial_version>коммерческой подписки</commercial_version>: 55 <commercial_version>коммерческой подписки</commercial_version>:
56 <example> 56 <example>
57 resolver 10.0.0.1;
58
57 upstream <emphasis>dynamic</emphasis> { 59 upstream <emphasis>dynamic</emphasis> {
58 zone upstream_dynamic 64k; 60 zone upstream_dynamic 64k;
59 61
60 server backend1.example.com weight=5; 62 server backend1.example.com weight=5;
61 server backend2.example.com:8080 fail_timeout=5s slow_start=30s; 63 server backend2.example.com:8080 fail_timeout=5s slow_start=30s;
62 server 192.0.2.1 max_fails=3; 64 server 192.0.2.1 max_fails=3;
65 server backend3.example.com resolve;
63 66
64 server backup1.example.com:8080 backup; 67 server backup1.example.com:8080 backup;
65 server backup2.example.com:8080 backup; 68 server backup2.example.com:8080 backup;
66 } 69 }
67 70
68 server { 71 server {
69 location / { 72 location / {
70 proxy_pass http://<emphasis>dynamic</emphasis>; 73 proxy_pass http://<emphasis>dynamic</emphasis>;
71 health_check; 74 health_check;
72 }
73
74 location /upstream_conf {
75 upstream_conf;
76 allow 127.0.0.1;
77 deny all;
78 } 75 }
79 } 76 }
80 </example> 77 </example>
81 </para> 78 </para>
82 79
297 разделяемые между рабочими процессами. 294 разделяемые между рабочими процессами.
298 В таких группах для изменения состава группы 295 В таких группах для изменения состава группы
299 или настроек отдельных серверов 296 или настроек отдельных серверов
300 нет необходимости перезапускать nginx. 297 нет необходимости перезапускать nginx.
301 Конфигурация доступна через специальный location, 298 Конфигурация доступна через специальный location,
302 в котором указана директива <link id="upstream_conf"/>. 299 в котором указана директива
300 <link doc="ngx_http_upstream_conf_module.xml" id="upstream_conf"/>.
303 </para> 301 </para>
304 302
305 <para> 303 <para>
306 <note> 304 <note>
307 Эта директива доступна как часть 305 Эта директива доступна как часть
531 </para> 529 </para>
532 530
533 </directive> 531 </directive>
534 532
535 533
534 <directive name="least_time">
535 <syntax><literal>header</literal> | <literal>last_byte</literal></syntax>
536 <default/>
537 <context>upstream</context>
538 <appeared-in>1.7.10</appeared-in>
539
540 <para>
541 Задаёт для группы метод балансировки нагрузки, при котором запрос
542 передаётся серверу с наименьшими средним временем ответа и
543 числом активных соединений с учётом весов серверов.
544 Если подходит сразу несколько серверов, то они выбираются циклически
545 (в режиме round-robin) с учётом их весов.
546 </para>
547
548 <para>
549 Если указан параметр <literal>header</literal>,
550 то учитывается время получения
551 <link id="var_upstream_header_time">заголовка ответа</link>.
552 Если указан параметр <literal>last_byte</literal>, то учитывается
553 время получения <link id="var_upstream_response_time">всего ответа</link>.
554 </para>
555
556 <para>
557 <note>
558 Эта директива доступна как часть
559 <commercial_version>коммерческой подписки</commercial_version>.
560 </note>
561 </para>
562
563 </directive>
564
565
536 <directive name="health_check"> 566 <directive name="health_check">
537 <syntax>[<value>параметры</value>]</syntax> 567 <syntax>[<value>параметры</value>]</syntax>
538 <default/> 568 <default/>
539 <context>location</context> 569 <context>location</context>
540 570
840 <directive name="sticky"> 870 <directive name="sticky">
841 <syntax> 871 <syntax>
842 <literal>cookie</literal> <value>имя</value> 872 <literal>cookie</literal> <value>имя</value>
843 [<literal>expires=</literal><value>время</value>] 873 [<literal>expires=</literal><value>время</value>]
844 [<literal>domain=</literal><value>домен</value>] 874 [<literal>domain=</literal><value>домен</value>]
875 [<literal>httponly</literal>]
876 [<literal>secure</literal>]
845 [<literal>path=</literal><value>путь</value>]</syntax> 877 [<literal>path=</literal><value>путь</value>]</syntax>
846 <syntax> 878 <syntax>
847 <literal>route</literal> <value>переменная</value> ...</syntax> 879 <literal>route</literal> <value>переменная</value> ...</syntax>
848 <syntax> 880 <syntax>
849 <literal>learn</literal> 881 <literal>learn</literal>
887 <para> 919 <para>
888 Первый параметр задаёт имя куки, которую необходимо установить или проверить. 920 Первый параметр задаёт имя куки, которую необходимо установить или проверить.
889 Дополнительные параметры могут быть следующими: 921 Дополнительные параметры могут быть следующими:
890 <list type="tag"> 922 <list type="tag">
891 923
892 <tag-name><literal>expires</literal></tag-name> 924 <tag-name><literal>expires=</literal><value>время</value></tag-name>
893 <tag-desc> 925 <tag-desc>
894 Задаёт время, в течение которого браузеру необходимо хранить куку. 926 Задаёт <value>время</value>, в течение которого браузеру необходимо хранить куку.
895 Специальное значение <literal>max</literal> устанавливает срок хранения куки до 927 Специальное значение <literal>max</literal> устанавливает срок хранения куки до
896 31 декабря 2037 года 23:55:55 GMT. 928 31 декабря 2037 года 23:55:55 GMT.
897 Если параметр не указан, то время действия куки ограничивается сессией браузера. 929 Если параметр не указан, то время действия куки ограничивается сессией браузера.
898 </tag-desc> 930 </tag-desc>
899 931
900 <tag-name><literal>domain</literal></tag-name> 932 <tag-name><literal>domain=</literal><value>домен</value></tag-name>
901 <tag-desc> 933 <tag-desc>
902 Задаёт домен, для которого устанавливается кука. 934 Задаёт <value>домен</value>, для которого устанавливается кука.
903 </tag-desc> 935 </tag-desc>
904 936
905 <tag-name><literal>path</literal></tag-name> 937 <tag-name><literal>httponly</literal></tag-name>
906 <tag-desc> 938 <tag-desc>
907 Задаёт путь, для которого устанавливается кука. 939 Добавляет атрибут <literal>HttpOnly</literal> к куке (1.7.11).
940 </tag-desc>
941
942 <tag-name><literal>secure</literal></tag-name>
943 <tag-desc>
944 Добавляет атрибут <literal>Secure</literal> к куке (1.7.11).
945 </tag-desc>
946
947 <tag-name><literal>path=</literal><value>путь</value></tag-name>
948 <tag-desc>
949 Задаёт <value>путь</value>, для которого устанавливается кука.
908 </tag-desc> 950 </tag-desc>
909 951
910 </list> 952 </list>
911 Если пропущен тот или иной параметр, то соответствующего поля в куке не будет. 953 Если пропущен тот или иной параметр, то соответствующего поля в куке не будет.
912 </para> 954 </para>
1031 <note> 1073 <note>
1032 <literal>sticky cookie</literal> <value>имя</value> 1074 <literal>sticky cookie</literal> <value>имя</value>
1033 [<literal>expires=</literal><value>время</value>] 1075 [<literal>expires=</literal><value>время</value>]
1034 [<literal>domain=</literal><value>домен</value>] 1076 [<literal>domain=</literal><value>домен</value>]
1035 [<literal>path=</literal><value>путь</value>]; 1077 [<literal>path=</literal><value>путь</value>];
1036 </note>
1037 </para>
1038
1039 </directive>
1040
1041
1042 <directive name="upstream_conf">
1043 <syntax/>
1044 <default/>
1045 <context>location</context>
1046
1047 <para>
1048 Активирует HTTP-интерфейс для настройки групп серверов в содержащем location.
1049 Доступ в location следует
1050 <link doc="ngx_http_core_module.xml" id="satisfy">ограничить</link>.
1051 </para>
1052
1053 <para>
1054 С помощью команд настройки можно:
1055 <list type="bullet">
1056
1057 <listitem>просматривать конфигурацию группы;</listitem>
1058
1059 <listitem>
1060 просматривать или изменять конфигурацию, а также
1061 удалять серверы;
1062 </listitem>
1063
1064 <listitem>добавлять новые серверы.</listitem>
1065
1066 </list>
1067 <note>
1068 Поскольку адреса в группе не обязаны быть уникальными,
1069 обращение к отдельным серверам в группе осуществляется по их идентификаторам.
1070 Идентификаторы назначаются автоматически и показываются при добавлении сервера
1071 или просмотре конфигурации группы.
1072 </note>
1073 </para>
1074
1075 <para>
1076 Команда настройки состоит из параметров, передаваемых в аргументах запроса,
1077 например:
1078 <example>
1079 http://127.0.0.1/upstream_conf?upstream=dynamic
1080 </example>
1081 </para>
1082
1083 <para>
1084 Поддерживаются следующие параметры:
1085
1086 <list type="tag" compact="no">
1087
1088 <tag-name>
1089 <literal>upstream=</literal><value>имя</value></tag-name>
1090 <tag-desc>
1091 Выбирает группу серверов для работы.
1092 Параметр является обязательным.
1093 </tag-desc>
1094
1095 <tag-name>
1096 <literal>id=</literal><value>число</value></tag-name>
1097 <tag-desc>
1098 Выбирает сервер для просмотра, изменения или удаления.
1099 </tag-desc>
1100
1101 <tag-name>
1102 <literal>remove=</literal></tag-name>
1103 <tag-desc>
1104 Удаляет сервер из группы.
1105 </tag-desc>
1106
1107 <tag-name>
1108 <literal>add=</literal></tag-name>
1109 <tag-desc>
1110 Добавляет новый сервер в группу.
1111 </tag-desc>
1112
1113 <tag-name>
1114 <literal>backup=</literal></tag-name>
1115 <tag-desc>
1116 Необходим для добавления запасного сервера.
1117 <note>
1118 До версии 1.7.2 параметр <literal>backup=</literal> требовался
1119 также для просмотра, изменения или удаления существующих запасных серверов.
1120 </note>
1121 </tag-desc>
1122
1123 <tag-name>
1124 <literal>server=</literal><value>адрес</value></tag-name>
1125 <tag-desc>
1126 То же, что и параметр “<literal>адрес</literal>”
1127 директивы <link id="server"/>.
1128 <para>
1129 При добавлении сервер можно задать в виде доменного имени.
1130 В этом случае любые изменения IP-адресов, соответствующих доменному имени
1131 сервера, отслеживаются и автоматически применяются к конфигурации группы
1132 без необходимости перезапуска nginx (1.7.2).
1133 Для этого в блоке <link doc="ngx_http_core_module.xml" id="http"/> должна
1134 быть задана директива <link doc="ngx_http_core_module.xml" id="resolver"/>.
1135 См. также параметр
1136 <link id="resolve"/> директивы <link id="server"/>.
1137 </para>
1138 </tag-desc>
1139
1140 <tag-name>
1141 <literal>weight=</literal><value>число</value></tag-name>
1142 <tag-desc>
1143 То же, что и параметр “<literal>weight</literal>”
1144 директивы <link id="server"/>.
1145 </tag-desc>
1146
1147 <tag-name>
1148 <literal>max_conns=</literal><value>число</value></tag-name>
1149 <tag-desc>
1150 То же, что и параметр “<literal>max_conns</literal>”
1151 директивы <link id="server"/>.
1152 </tag-desc>
1153
1154 <tag-name>
1155 <literal>max_fails=</literal><value>число</value></tag-name>
1156 <tag-desc>
1157 То же, что и параметр “<literal>max_fails</literal>”
1158 директивы <link id="server"/>.
1159 </tag-desc>
1160
1161 <tag-name>
1162 <literal>fail_timeout=</literal><value>время</value></tag-name>
1163 <tag-desc>
1164 То же, что и параметр “<literal>fail_timeout</literal>”
1165 директивы <link id="server"/>.
1166 </tag-desc>
1167
1168 <tag-name>
1169 <literal>slow_start=</literal><value>время</value></tag-name>
1170 <tag-desc>
1171 То же, что и параметр “<literal>slow_start</literal>”
1172 директивы <link id="server"/>.
1173 </tag-desc>
1174
1175 <tag-name>
1176 <literal>down=</literal></tag-name>
1177 <tag-desc>
1178 То же, что и параметр “<literal>down</literal>”
1179 директивы <link id="server"/>.
1180 </tag-desc>
1181
1182 <tag-name id="drain"><literal>drain=</literal></tag-name>
1183
1184 <tag-desc>
1185 Переводит сервер группы в режим “draining” (1.7.5).
1186 В этом режиме на сервер будут проксироваться только
1187 <link id="sticky">привязанные</link> к нему запросы.
1188 </tag-desc>
1189
1190 <tag-name>
1191 <literal>up=</literal></tag-name>
1192 <tag-desc>
1193 Параметр, обратный по значению параметру “<literal>down</literal>”
1194 директивы <link id="server"/>.
1195 </tag-desc>
1196
1197 <tag-name>
1198 <literal>route=</literal><value>строка</value></tag-name>
1199 <tag-desc>
1200 То же, что и параметр “<literal>route</literal>”
1201 директивы <link id="server"/>.
1202 </tag-desc>
1203
1204 </list>
1205
1206 Первые два параметра выбирают объект.
1207 Объектом может быть либо группа серверов, либо отдельный сервер.
1208 Если остальные параметры не указаны, то показывается конфигурация выбранной
1209 группы или сервера.
1210 </para>
1211
1212 <para>
1213 Например, команда для просмотра конфигурации всей группы
1214 выглядит следующим образом:
1215 <example>
1216 http://127.0.0.1/upstream_conf?upstream=dynamic
1217 </example>
1218
1219 Для просмотра конфигурации отдельного сервера следует указать его идентификатор:
1220 <example>
1221 http://127.0.0.1/upstream_conf?upstream=dynamic&amp;id=42
1222 </example>
1223
1224 </para>
1225
1226 <para>
1227 Для добавления нового сервера в группу
1228 следует указать его адрес в параметре “<literal>server=</literal>”.
1229 Если остальные параметры не указаны, то при добавлении сервера
1230 их значения будут установлены по умолчанию (см. директиву <link id="server"/>).
1231 </para>
1232
1233 <para>
1234 Например, команда для добавления нового основного сервера в группу
1235 выглядит следующим образом:
1236 <example>
1237 http://127.0.0.1/upstream_conf?add=&amp;upstream=dynamic&amp;server=127.0.0.1:8080
1238 </example>
1239
1240 Добавление нового запасного сервера происходит следующим образом:
1241 <example>
1242 http://127.0.0.1/upstream_conf?add=&amp;upstream=dynamic&amp;backup=&amp;server=127.0.0.1:8080
1243 </example>
1244
1245 Добавление нового основного сервера с нестандартными
1246 значениями параметров и с пометкой его как постоянно недоступного
1247 (“<literal>down</literal>”) происходит следующим образом:
1248 <example>
1249 http://127.0.0.1/upstream_conf?add=&amp;upstream=dynamic&amp;server=127.0.0.1:8080&amp;weight=2&amp;down=
1250 </example>
1251 </para>
1252
1253 <para>
1254 Для удаления сервера следует указать его идентификатор:
1255 <example>
1256 http://127.0.0.1/upstream_conf?remove=&amp;upstream=dynamic&amp;id=42
1257 </example>
1258 </para>
1259
1260 <para>
1261 Пометка существующего сервера как постоянно недоступного
1262 (“<literal>down</literal>”) происходит следующим образом:
1263 <example>
1264 http://127.0.0.1/upstream_conf?upstream=dynamic&amp;id=42&amp;down=
1265 </example>
1266
1267 Изменение адреса существующего сервера происходит следующим образом:
1268 <example>
1269 http://127.0.0.1/upstream_conf?upstream=dynamic&amp;id=42&amp;server=192.0.2.3:8123
1270 </example>
1271
1272 Изменение других параметров существующего сервера происходит следующим образом:
1273 <example>
1274 http://127.0.0.1/upstream_conf?upstream=dynamic&amp;id=42&amp;max_fails=3&amp;weight=4
1275 </example>
1276
1277 </para>
1278
1279 <para>
1280 <note>
1281 Эта директива доступна как часть
1282 <commercial_version>коммерческой подписки</commercial_version>.
1283 </note> 1078 </note>
1284 </para> 1079 </para>
1285 1080
1286 </directive> 1081 </directive>
1287 1082