Mercurial > hg > nginx-site
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&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=&upstream=dynamic&server=127.0.0.1:8080 | |
1238 </example> | |
1239 | |
1240 Добавление нового запасного сервера происходит следующим образом: | |
1241 <example> | |
1242 http://127.0.0.1/upstream_conf?add=&upstream=dynamic&backup=&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=&upstream=dynamic&server=127.0.0.1:8080&weight=2&down= | |
1250 </example> | |
1251 </para> | |
1252 | |
1253 <para> | |
1254 Для удаления сервера следует указать его идентификатор: | |
1255 <example> | |
1256 http://127.0.0.1/upstream_conf?remove=&upstream=dynamic&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&id=42&down= | |
1265 </example> | |
1266 | |
1267 Изменение адреса существующего сервера происходит следующим образом: | |
1268 <example> | |
1269 http://127.0.0.1/upstream_conf?upstream=dynamic&id=42&server=192.0.2.3:8123 | |
1270 </example> | |
1271 | |
1272 Изменение других параметров существующего сервера происходит следующим образом: | |
1273 <example> | |
1274 http://127.0.0.1/upstream_conf?upstream=dynamic&id=42&max_fails=3&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 |