annotate xml/ru/docs/http/ngx_http_fastcgi_module.xml @ 295:38e111ec051d

Revision.
author Ruslan Ermilov <ru@nginx.com>
date Thu, 29 Dec 2011 07:34:07 +0000
parents 2305be197a84
children 2f318fe954ec
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
222
bfe3eff81d04 Removed redundant encoding specification.
Ruslan Ermilov <ru@nginx.com>
parents: 135
diff changeset
1 <?xml version="1.0"?>
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
2
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
3 <!DOCTYPE module SYSTEM "../../../../dtd/module.dtd">
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
4
295
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
5 <module name="Модуль ngx_http_fastcgi_module"
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
6 link="/ru/docs/http/ngx_http_fastcgi_module.html"
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
7 lang="ru">
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
8
110
40eec261c2a6 Added proper support for anonymous sections, notably for the summary.
Ruslan Ermilov <ru@nginx.com>
parents: 106
diff changeset
9 <section id="summary">
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
10
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
11 <para>
295
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
12 Модуль <literal>ngx_http_fastcgi_module</literal> позволяет передавать
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
13 запросы FastCGI-серверу.
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
14 </para>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
15
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
16 </section>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
17
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
18
295
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
19 <section id="example" name="Пример конфигурации">
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
20
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
21 <para>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
22 <example>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
23 location / {
295
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
24 fastcgi_pass localhost:9000;
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
25 fastcgi_index index.php;
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
26
295
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
27 fastcgi_param SCRIPT_FILENAME /home/www/scripts/php$fastcgi_script_name;
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
28 fastcgi_param QUERY_STRING $query_string;
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
29 fastcgi_param REQUEST_METHOD $request_method;
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
30 fastcgi_param CONTENT_TYPE $content_type;
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
31 fastcgi_param CONTENT_LENGTH $content_length;
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
32 }
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
33 </example>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
34 </para>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
35
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
36 </section>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
37
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
38
295
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
39 <section id="directives" name="Директивы">
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
40
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
41 <directive name="fastcgi_buffer_size">
102
c76a257f3fd4 The directive name is now automatically printed in <default> and <syntax>.
Ruslan Ermilov <ru@nginx.com>
parents: 99
diff changeset
42 <syntax><value>размер</value></syntax>
295
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
43 <default>4k|8k</default>
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
44 <context>http</context>
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
45 <context>server</context>
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
46 <context>location</context>
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
47
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
48 <para>
295
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
49 Задаёт <value>размер</value> буфера, в который будет читаться
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
50 первая часть ответа, получаемого от FastCGI-сервера.
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
51 В этой части ответа находится, как правило, небольшой заголовок ответа.
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
52 По умолчанию размер буфера равен размеру одного буфера в директиве
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
53 <link id="fastcgi_buffers"/>, однако его можно сделать меньше.
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
54 </para>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
55
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
56 </directive>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
57
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
58
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
59 <directive name="fastcgi_buffers">
271
4c6d2c614d2c Cleaned up XML tag mess:
Ruslan Ermilov <ru@nginx.com>
parents: 239
diff changeset
60 <syntax><value>число</value> <value>размер</value></syntax>
295
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
61 <default>8 4k|8k</default>
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
62 <context>http</context>
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
63 <context>server</context>
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
64 <context>location</context>
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
65
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
66 <para>
295
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
67 Задаёт <value>число</value> и <value>размер</value> буферов
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
68 для одного соединения,
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
69 в которые будет читаться ответ, получаемый от FastCGI-сервера.
295
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
70 По умолчанию размер одного буфера равен размеру страницы.
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
71 В зависимости от платформы это или 4K, или 8K.
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
72 </para>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
73
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
74 </directive>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
75
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
77 <directive name="fastcgi_cache">
271
4c6d2c614d2c Cleaned up XML tag mess:
Ruslan Ermilov <ru@nginx.com>
parents: 239
diff changeset
78 <syntax><value>зона</value> | <literal>off</literal></syntax>
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
79 <default>off</default>
295
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
80 <context>http</context>
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
81 <context>server</context>
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
82 <context>location</context>
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
83
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
84 <para>
295
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
85 Задаёт зону для кэширования.
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
86 Одна и та же зона может использоваться в нескольких местах.
295
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
87 Параметр <literal>off</literal> запрещает кэширование, унаследованное
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
88 с предыдущего уровня конфигурации.
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
89 </para>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
90
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
91 </directive>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
92
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
93
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
94 <directive name="fastcgi_cache_bypass">
271
4c6d2c614d2c Cleaned up XML tag mess:
Ruslan Ermilov <ru@nginx.com>
parents: 239
diff changeset
95 <syntax><value>строка</value> ...</syntax>
99
1d315ef37215 The case <default/> is now language-agnostic.
Ruslan Ermilov <ru@nginx.com>
parents: 98
diff changeset
96 <default/>
295
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
97 <context>http</context>
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
98 <context>server</context>
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
99 <context>location</context>
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
100
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
101 <para>
295
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
102 Задаёт условия, при которых ответ не будет браться из кэша.
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
103 Если значение хотя бы одного из строковых параметров непустое и не равно “0”,
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
104 то ответ не берётся из кэша:
98
a10bc0cb0a6a Whitespace cleanup.
Ruslan Ermilov <ru@nginx.com>
parents: 97
diff changeset
105 <example>
295
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
106 fastcgi_cache_bypass $cookie_nocache $arg_nocache$arg_comment;
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
107 fastcgi_cache_bypass $http_pragma $http_authorization;
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
108 </example>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
109 Можно использовать совместно с директивой <link id="fastcgi_no_cache"/>.
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
110 </para>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
111
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
112 </directive>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
113
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
114
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
115 <directive name="fastcgi_cache_key">
102
c76a257f3fd4 The directive name is now automatically printed in <default> and <syntax>.
Ruslan Ermilov <ru@nginx.com>
parents: 99
diff changeset
116 <syntax><value>строка</value></syntax>
99
1d315ef37215 The case <default/> is now language-agnostic.
Ruslan Ermilov <ru@nginx.com>
parents: 98
diff changeset
117 <default/>
295
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
118 <context>http</context>
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
119 <context>server</context>
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
120 <context>location</context>
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
121
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
122 <para>
295
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
123 Задаёт ключ для кэширования, например,
98
a10bc0cb0a6a Whitespace cleanup.
Ruslan Ermilov <ru@nginx.com>
parents: 97
diff changeset
124 <example>
295
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
125 fastcgi_cache_key localhost:9000$request_uri;
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
126 </example>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
127 </para>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
128
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
129 </directive>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
130
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
131
295
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
132 <directive name="fastcgi_cache_min_uses">
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
133 <syntax><value>число</value></syntax>
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
134 <default>1</default>
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
135 <context>http</context>
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
136 <context>server</context>
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
137 <context>location</context>
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
138
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
139 <para>
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
140 Задаёт <value>число</value> запросов, после которого ответ будет закэширован.
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
141 </para>
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
142
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
143 </directive>
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
144
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
145
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
146 <directive name="fastcgi_cache_path">
271
4c6d2c614d2c Cleaned up XML tag mess:
Ruslan Ermilov <ru@nginx.com>
parents: 239
diff changeset
147 <syntax>
4c6d2c614d2c Cleaned up XML tag mess:
Ruslan Ermilov <ru@nginx.com>
parents: 239
diff changeset
148 <value>путь</value>
4c6d2c614d2c Cleaned up XML tag mess:
Ruslan Ermilov <ru@nginx.com>
parents: 239
diff changeset
149 [<literal>levels</literal>=<value>уровни</value>]
295
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
150 <literal>keys_zone</literal>=<value>имя</value>:<value>размер</value>
271
4c6d2c614d2c Cleaned up XML tag mess:
Ruslan Ermilov <ru@nginx.com>
parents: 239
diff changeset
151 [<literal>inactive</literal>=<value>время</value>]
4c6d2c614d2c Cleaned up XML tag mess:
Ruslan Ermilov <ru@nginx.com>
parents: 239
diff changeset
152 [<literal>max_size</literal>=<value>размер</value>]</syntax>
99
1d315ef37215 The case <default/> is now language-agnostic.
Ruslan Ermilov <ru@nginx.com>
parents: 98
diff changeset
153 <default/>
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
154 <context>http</context>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
155
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
156 <para>
295
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
157 Задаёт путь и другие параметры кэша.
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
158 Данные кэша хранятся в файлах.
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
159 Ключом и именем файла в кэше является результат функции MD5
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
160 от проксированного URL.
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
161 Параметр <literal>levels</literal> задаёт уровни иерархии кэша,
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
162 например, при использовании
98
a10bc0cb0a6a Whitespace cleanup.
Ruslan Ermilov <ru@nginx.com>
parents: 97
diff changeset
163 <example>
295
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
164 fastcgi_cache_path /data/nginx/cache levels=1:2 keys_zone=one:10m;
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
165 </example>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
166 имена файлов в кэше будут такого вида:
98
a10bc0cb0a6a Whitespace cleanup.
Ruslan Ermilov <ru@nginx.com>
parents: 97
diff changeset
167 <example>
295
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
168 /data/nginx/cache/<emphasis>c</emphasis>/<emphasis>29</emphasis>/b7f54b2df7773722d382f4809d650<emphasis>29c</emphasis>
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
169 </example>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
170 </para>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
171
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
172 <para>
295
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
173 Кэшируемый ответ сначала записывается во временный файл, а потом этот файл
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
174 переименовывается. Начиная с версии 0.8.9, временные файлы и кэш
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
175 могут располагаться на разных файловых системах, но нужно учитывать,
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
176 что в этом случае вместо дешёвой операции переименовывания в пределах
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
177 одной файловой системы файл копируется с одной файловой системы на другую.
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
178 Поэтому лучше, если кэш будет находиться на той же файловой
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
179 системе, что и каталог с временными файлами, задаваемый директивой
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
180 <link id="fastcgi_temp_path"/> для данного location.
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
181 </para>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
182
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
183 <para>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
184 Кроме того, все активные ключи и информация о данных хранятся в разделяемой
295
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
185 памяти — зоне, <value>имя</value> и <value>размер</value> которой
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
186 задаются параметром <literal>keys_zone</literal>.
285
Maxim Konovalov <maxim@nginx.com>
parents: 275
diff changeset
187 Если к данным кэша не обращаются в течение времени, заданного параметром
295
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
188 <literal>inactive</literal>, то данные удаляются, независимо от их свежести.
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
189 По умолчанию <literal>inactive</literal> равен 10 минутам.
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
190 </para>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
191
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
192 <para>
295
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
193 Специальный процесс “cache manager” следит за максимальным размером кэша,
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
194 заданным параметром <literal>max_size</literal>, и при превышении
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
195 его размеров удаляет самые невостребованные данные.
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
196 </para>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
197
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
198 </directive>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
199
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
200
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
201 <directive name="fastcgi_cache_use_stale">
271
4c6d2c614d2c Cleaned up XML tag mess:
Ruslan Ermilov <ru@nginx.com>
parents: 239
diff changeset
202 <syntax>
4c6d2c614d2c Cleaned up XML tag mess:
Ruslan Ermilov <ru@nginx.com>
parents: 239
diff changeset
203 <literal>error</literal> |
4c6d2c614d2c Cleaned up XML tag mess:
Ruslan Ermilov <ru@nginx.com>
parents: 239
diff changeset
204 <literal>timeout</literal> |
4c6d2c614d2c Cleaned up XML tag mess:
Ruslan Ermilov <ru@nginx.com>
parents: 239
diff changeset
205 <literal>invalid_header</literal> |
4c6d2c614d2c Cleaned up XML tag mess:
Ruslan Ermilov <ru@nginx.com>
parents: 239
diff changeset
206 <literal>updating</literal> |
4c6d2c614d2c Cleaned up XML tag mess:
Ruslan Ermilov <ru@nginx.com>
parents: 239
diff changeset
207 <literal>http_500</literal> |
4c6d2c614d2c Cleaned up XML tag mess:
Ruslan Ermilov <ru@nginx.com>
parents: 239
diff changeset
208 <literal>http_503</literal> |
4c6d2c614d2c Cleaned up XML tag mess:
Ruslan Ermilov <ru@nginx.com>
parents: 239
diff changeset
209 <literal>http_404</literal> |
4c6d2c614d2c Cleaned up XML tag mess:
Ruslan Ermilov <ru@nginx.com>
parents: 239
diff changeset
210 <literal>off</literal>
4c6d2c614d2c Cleaned up XML tag mess:
Ruslan Ermilov <ru@nginx.com>
parents: 239
diff changeset
211 ...</syntax>
102
c76a257f3fd4 The directive name is now automatically printed in <default> and <syntax>.
Ruslan Ermilov <ru@nginx.com>
parents: 99
diff changeset
212 <default>off</default>
295
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
213 <context>http</context>
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
214 <context>server</context>
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
215 <context>location</context>
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
216
295
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
217 <para>
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
218 Определяет, в каких случаях можно использовать устаревший закэшированный ответ,
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
219 если при работе с FastCGI-сервером возникла ошибка.
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
220 Параметры директивы совпадают с параметрами
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
221 директивы <link id="fastcgi_next_upstream"/>.
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
222 Кроме того, дополнительный параметр <literal>updating</literal>
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
223 разрешает использовать устаревший закэшированный ответ,
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
224 если на данный момент он уже обновляется.
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
225 </para>
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
226
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
227 </directive>
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
228
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
229
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
230 <directive name="fastcgi_cache_valid">
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
231 <syntax>[<value>код</value> ...] <value>время</value></syntax>
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
232 <default/>
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
233 <context>http</context>
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
234 <context>server</context>
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
235 <context>location</context>
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
236
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
237 <para>
295
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
238 Задаёт время кэширования для разных кодов ответа.
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
239 Например, директивы
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
240 <example>
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
241 fastcgi_cache_valid 200 302 10m;
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
242 fastcgi_cache_valid 404 1m;
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
243 </example>
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
244 задают время кэширования 10 минут для ответов с кодами 200 и 302,
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
245 и 1 минуту для ответов с кодом 404.
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
246 </para>
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
247
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
248 <para>
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
249 Если указано только <value>время</value> кэширования,
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
250 <example>
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
251 fastcgi_cache_valid 5m;
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
252 </example>
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
253 то кэшируются только ответы 200, 301 и 302.
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
254 </para>
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
255
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
256 <para>
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
257 Кроме того, можно кэшировать любые ответы с помощью параметра
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
258 <literal>any</literal>:
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
259 <example>
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
260 fastcgi_cache_valid 200 302 10m;
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
261 fastcgi_cache_valid 301 1h;
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
262 fastcgi_cache_valid any 1m;
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
263 </example>
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
264 </para>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
265
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
266 </directive>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
267
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
268
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
269 <directive name="fastcgi_connect_timeout">
102
c76a257f3fd4 The directive name is now automatically printed in <default> and <syntax>.
Ruslan Ermilov <ru@nginx.com>
parents: 99
diff changeset
270 <syntax><value>время</value></syntax>
295
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
271 <default>60s</default>
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
272 <context>http</context>
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
273 <context>server</context>
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
274 <context>location</context>
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
275
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
276 <para>
295
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
277 Задаёт таймаут для установления соединения с FastCGI-сервером.
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
278 Необходимо иметь в виду, что этот таймаут обычно не может превышать 75 секунд.
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
279 </para>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
280
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
281 </directive>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
282
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
283
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
284 <directive name="fastcgi_hide_header">
295
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
285 <syntax><value>поле</value></syntax>
102
c76a257f3fd4 The directive name is now automatically printed in <default> and <syntax>.
Ruslan Ermilov <ru@nginx.com>
parents: 99
diff changeset
286 <default/>
295
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
287 <context>http</context>
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
288 <context>server</context>
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
289 <context>location</context>
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
290
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
291 <para>
295
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
292 По умолчанию
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
293 nginx не передаёт клиенту поля заголовка <header>Status</header> и
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
294 <header>X-Accel-...</header> из ответа FastCGI-сервера.
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
295 Директива <literal>fastcgi_hide_header</literal> задаёт дополнительные поля,
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
296 которые не будут передаваться.
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
297 Если же передачу полей нужно разрешить, можно воспользоваться
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
298 директивой <link id="fastcgi_pass_header"/>.
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
299 </para>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
300
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
301 </directive>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
302
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
303
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
304 <directive name="fastcgi_ignore_client_abort">
271
4c6d2c614d2c Cleaned up XML tag mess:
Ruslan Ermilov <ru@nginx.com>
parents: 239
diff changeset
305 <syntax><literal>on</literal> | <literal>off</literal></syntax>
102
c76a257f3fd4 The directive name is now automatically printed in <default> and <syntax>.
Ruslan Ermilov <ru@nginx.com>
parents: 99
diff changeset
306 <default>off</default>
295
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
307 <context>http</context>
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
308 <context>server</context>
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
309 <context>location</context>
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
310
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
311 <para>
295
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
312 Определяет, закрывать ли соединение с FastCGI-сервером
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
313 в случае, если клиент закрыл соединение, не дождавшись ответа.
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
314 </para>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
315
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
316 </directive>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
317
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
318
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
319 <directive name="fastcgi_ignore_headers">
295
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
320 <syntax><value>поле</value> ...</syntax>
102
c76a257f3fd4 The directive name is now automatically printed in <default> and <syntax>.
Ruslan Ermilov <ru@nginx.com>
parents: 99
diff changeset
321 <default/>
295
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
322 <context>http</context>
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
323 <context>server</context>
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
324 <context>location</context>
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
325
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
326 <para>
295
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
327 Запрещает обработку некоторых полей заголовка из ответа FastCGI-сервера.
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
328 В директиве можно указать поля <header>X-Accel-Redirect</header>,
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
329 <header>X-Accel-Expires</header>, <header>X-Accel-Limit-Rate</header> (1.1.6),
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
330 <header>X-Accel-Buffering</header> (1.1.6),
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
331 <header>X-Accel-Charset</header> (1.1.6), <header>Expires</header>,
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
332 <header>Cache-Control</header> и <header>Set-Cookie</header> (0.8.44).
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
333 </para>
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
334
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
335 </directive>
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
336
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
337
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
338 <directive name="fastcgi_index">
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
339 <syntax><value>имя</value></syntax>
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
340 <default/>
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
341 <context>http</context>
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
342 <context>server</context>
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
343 <context>location</context>
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
344
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
345 <para>
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
346 Задаёт имя файла, который при создании переменной
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
347 <var>$fastcgi_script_name</var> будет добавляться после URI,
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
348 если URI заканчивается слэшом.
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
349 Например, при таких настройках
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
350 <example>
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
351 fastcgi_index index.php;
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
352 fastcgi_param SCRIPT_FILENAME /home/www/scripts/php$fastcgi_script_name;
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
353 </example>
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
354 и запросе “<literal>/page.php</literal>”
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
355 параметр <literal>SCRIPT_FILENAME</literal> будет равен
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
356 “<literal>/home/www/scripts/php/page.php</literal>”,
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
357 а при запросе “<literal>/</literal>”&mdash;
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
358 “<literal>/home/www/scripts/php/index.php</literal>”.
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
359 </para>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
360
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
361 </directive>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
362
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
363
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
364 <directive name="fastcgi_intercept_errors">
271
4c6d2c614d2c Cleaned up XML tag mess:
Ruslan Ermilov <ru@nginx.com>
parents: 239
diff changeset
365 <syntax><literal>on</literal> | <literal>off</literal></syntax>
102
c76a257f3fd4 The directive name is now automatically printed in <default> and <syntax>.
Ruslan Ermilov <ru@nginx.com>
parents: 99
diff changeset
366 <default>off</default>
295
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
367 <context>http</context>
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
368 <context>server</context>
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
369 <context>location</context>
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
370
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
371 <para>
295
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
372 Определяет, передавать ли клиенту ответы FastCGI-сервера с кодом
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
373 больше либо равным 400, или же перенаправлять их на обработку nginx'у с помощью
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
374 директивы <link doc="ngx_http_core_module.xml" id="error_page"/>.
98
a10bc0cb0a6a Whitespace cleanup.
Ruslan Ermilov <ru@nginx.com>
parents: 97
diff changeset
375 </para>
a10bc0cb0a6a Whitespace cleanup.
Ruslan Ermilov <ru@nginx.com>
parents: 97
diff changeset
376
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
377 </directive>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
378
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
379
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
380 <directive name="fastcgi_next_upstream">
102
c76a257f3fd4 The directive name is now automatically printed in <default> and <syntax>.
Ruslan Ermilov <ru@nginx.com>
parents: 99
diff changeset
381 <syntax>
271
4c6d2c614d2c Cleaned up XML tag mess:
Ruslan Ermilov <ru@nginx.com>
parents: 239
diff changeset
382 <literal>error</literal> |
4c6d2c614d2c Cleaned up XML tag mess:
Ruslan Ermilov <ru@nginx.com>
parents: 239
diff changeset
383 <literal>timeout</literal> |
4c6d2c614d2c Cleaned up XML tag mess:
Ruslan Ermilov <ru@nginx.com>
parents: 239
diff changeset
384 <literal>invalid_header</literal> |
4c6d2c614d2c Cleaned up XML tag mess:
Ruslan Ermilov <ru@nginx.com>
parents: 239
diff changeset
385 <literal>http_500</literal> |
4c6d2c614d2c Cleaned up XML tag mess:
Ruslan Ermilov <ru@nginx.com>
parents: 239
diff changeset
386 <literal>http_503</literal> |
4c6d2c614d2c Cleaned up XML tag mess:
Ruslan Ermilov <ru@nginx.com>
parents: 239
diff changeset
387 <literal>http_404</literal> |
4c6d2c614d2c Cleaned up XML tag mess:
Ruslan Ermilov <ru@nginx.com>
parents: 239
diff changeset
388 <literal>off</literal>
4c6d2c614d2c Cleaned up XML tag mess:
Ruslan Ermilov <ru@nginx.com>
parents: 239
diff changeset
389 ...</syntax>
102
c76a257f3fd4 The directive name is now automatically printed in <default> and <syntax>.
Ruslan Ermilov <ru@nginx.com>
parents: 99
diff changeset
390 <default>error timeout</default>
295
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
391 <context>http</context>
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
392 <context>server</context>
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
393 <context>location</context>
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
394
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
395 <para>
295
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
396 Определяет, в каких случаях запрос будет передан следующему серверу:
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
397 <list type="tag">
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
398
295
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
399 <tag-name><literal>error</literal></tag-name>
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
400 <tag-desc>произошла ошибка соединения с сервером, передачи ему запроса или
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
401 чтения заголовка ответа сервера;</tag-desc>
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
402
295
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
403 <tag-name><literal>timeout</literal></tag-name>
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
404 <tag-desc>произошёл таймаут во время соединения с сервером,
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
405 передачи ему запроса или чтения заголовка ответа сервера;</tag-desc>
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
406
295
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
407 <tag-name><literal>invalid_header</literal></tag-name>
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
408 <tag-desc>сервер вернул пустой или неверный ответ;</tag-desc>
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
409
295
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
410 <tag-name><literal>http_500</literal></tag-name>
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
411 <tag-desc>сервер вернул ответ с кодом 500;</tag-desc>
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
412
295
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
413 <tag-name><literal>http_503</literal></tag-name>
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
414 <tag-desc>сервер вернул ответ с кодом 503;</tag-desc>
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
415
295
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
416 <tag-name><literal>http_404</literal></tag-name>
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
417 <tag-desc>сервер вернул ответ с кодом 404;</tag-desc>
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
418
295
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
419 <tag-name><literal>off</literal></tag-name>
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
420 <tag-desc>запрещает передачу запроса следующему серверу.</tag-desc>
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
421
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
422 </list>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
423 </para>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
424
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
425 <para>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
426 Необходимо понимать, что передача запроса следующему серверу возможна
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
427 только при условии, что клиенту ещё ничего не передавалось.
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
428 То есть, если ошибка или таймаут возникли в середине передачи ответа,
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
429 то исправить это уже невозможно.
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
430 </para>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
431
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
432 </directive>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
433
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
434
295
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
435 <directive name="fastcgi_no_cache">
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
436 <syntax><value>строка</value> ...</syntax>
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
437 <default/>
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
438 <context>http</context>
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
439 <context>server</context>
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
440 <context>location</context>
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
441
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
442 <para>
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
443 Задаёт условия, при которых ответ не будет сохраняться в кэш.
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
444 Если значение хотя бы одного из строковых параметров непустое и не равно “0”,
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
445 то ответ не будет сохранён:
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
446 <example>
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
447 fastcgi_no_cache $cookie_nocache $arg_nocache$arg_comment;
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
448 fastcgi_no_cache $http_pragma $http_authorization;
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
449 </example>
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
450 Можно использовать совместно с директивой <link id="fastcgi_cache_bypass"/>.
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
451 </para>
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
452
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
453 </directive>
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
454
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
455
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
456 <directive name="fastcgi_param">
239
fe72da550150 "fastcgi_param" directive has new parameter "if_not_empty".
Ruslan Ermilov <ru@nginx.com>
parents: 222
diff changeset
457 <syntax>
271
4c6d2c614d2c Cleaned up XML tag mess:
Ruslan Ermilov <ru@nginx.com>
parents: 239
diff changeset
458 <value>параметр</value> <value>значение</value>
4c6d2c614d2c Cleaned up XML tag mess:
Ruslan Ermilov <ru@nginx.com>
parents: 239
diff changeset
459 [<literal>if_not_empty</literal>]</syntax>
99
1d315ef37215 The case <default/> is now language-agnostic.
Ruslan Ermilov <ru@nginx.com>
parents: 98
diff changeset
460 <default/>
295
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
461 <context>http</context>
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
462 <context>server</context>
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
463 <context>location</context>
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
464
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
465 <para>
295
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
466 Задаёт <value>параметр</value>, который будет передаваться FastCGI-серверу.
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
467 В качестве значения можно использовать текст, переменные и их комбинации.
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
468 Директивы наследуются с предыдущего уровня при условии, что на данном
271
4c6d2c614d2c Cleaned up XML tag mess:
Ruslan Ermilov <ru@nginx.com>
parents: 239
diff changeset
469 уровне не описаны свои директивы <literal>fastcgi_param</literal>.
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
470 </para>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
471
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
472 <para>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
473 Ниже приведён пример минимально необходимых параметров для PHP:
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
474 <example>
295
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
475 fastcgi_param SCRIPT_FILENAME /home/www/scripts/php$fastcgi_script_name;
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
476 fastcgi_param QUERY_STRING $query_string;
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
477 </example>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
478 </para>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
479
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
480 <para>
295
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
481 Параметр <literal>SCRIPT_FILENAME</literal> используется в PHP для
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
482 определения имени скрипта, а в параметре <literal>QUERY_STRING</literal>
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
483 передаются параметры запроса.
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
484 </para>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
485
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
486 <para>
295
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
487 Если скрипты обрабатывают запросы <literal>POST</literal>, то нужны
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
488 ещё три параметра:
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
489 <example>
295
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
490 fastcgi_param REQUEST_METHOD $request_method;
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
491 fastcgi_param CONTENT_TYPE $content_type;
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
492 fastcgi_param CONTENT_LENGTH $content_length;
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
493 </example>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
494 </para>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
495
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
496 <para>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
497 Если PHP был собран с параметром конфигурации
271
4c6d2c614d2c Cleaned up XML tag mess:
Ruslan Ermilov <ru@nginx.com>
parents: 239
diff changeset
498 <literal>--enable-force-cgi-redirect</literal>, то нужно передавать
295
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
499 параметр <literal>REDIRECT_STATUS</literal> со значением “200”:
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
500 <example>
295
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
501 fastcgi_param REDIRECT_STATUS 200;
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
502 </example>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
503 </para>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
504
239
fe72da550150 "fastcgi_param" directive has new parameter "if_not_empty".
Ruslan Ermilov <ru@nginx.com>
parents: 222
diff changeset
505 <para>
295
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
506 Если директива указана с <literal>if_not_empty</literal> (1.1.11),
239
fe72da550150 "fastcgi_param" directive has new parameter "if_not_empty".
Ruslan Ermilov <ru@nginx.com>
parents: 222
diff changeset
507 то такой параметр с пустым значением передаваться на сервер не будет:
fe72da550150 "fastcgi_param" directive has new parameter "if_not_empty".
Ruslan Ermilov <ru@nginx.com>
parents: 222
diff changeset
508 <example>
295
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
509 fastcgi_param HTTPS $https if_not_empty;
239
fe72da550150 "fastcgi_param" directive has new parameter "if_not_empty".
Ruslan Ermilov <ru@nginx.com>
parents: 222
diff changeset
510 </example>
fe72da550150 "fastcgi_param" directive has new parameter "if_not_empty".
Ruslan Ermilov <ru@nginx.com>
parents: 222
diff changeset
511 </para>
fe72da550150 "fastcgi_param" directive has new parameter "if_not_empty".
Ruslan Ermilov <ru@nginx.com>
parents: 222
diff changeset
512
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
513 </directive>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
514
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
515
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
516 <directive name="fastcgi_pass">
295
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
517 <syntax><value>адрес</value></syntax>
99
1d315ef37215 The case <default/> is now language-agnostic.
Ruslan Ermilov <ru@nginx.com>
parents: 98
diff changeset
518 <default/>
295
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
519 <context>location</context>
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
520 <context>if в location</context>
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
521
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
522 <para>
295
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
523 Задаёт адрес FastCGI-сервера.
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
524 Адрес может быть указан в виде доменного имени или адреса, и порта, например,
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
525 <example>
295
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
526 fastcgi_pass localhost:9000;
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
527 </example>
295
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
528 или в виде пути UNIX-сокета:
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
529 <example>
295
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
530 fastcgi_pass unix:/tmp/fastcgi.socket;
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
531 </example>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
532 </para>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
533
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
534 <para>
295
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
535 Если доменному имени соответствует несколько адресов, то все они будут
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
536 использоваться по очереди (round-robin).
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
537 И, кроме того, адрес может быть
135
edf8c90f8085 Renamed ngx_http_upstream to ngx_http_upstream_module.
Ruslan Ermilov <ru@nginx.com>
parents: 110
diff changeset
538 <link doc="ngx_http_upstream_module.xml">группой серверов</link>.
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
539 </para>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
540
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
541 </directive>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
542
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
543
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
544 <directive name="fastcgi_pass_header">
295
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
545 <syntax><value>поле</value></syntax>
102
c76a257f3fd4 The directive name is now automatically printed in <default> and <syntax>.
Ruslan Ermilov <ru@nginx.com>
parents: 99
diff changeset
546 <default/>
295
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
547 <context>http</context>
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
548 <context>server</context>
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
549 <context>location</context>
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
550
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
551 <para>
295
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
552 Разрешает передавать от FastCGI-сервера клиенту
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
553 <link id="fastcgi_hide_header">запрещённые для передачи</link> поля заголовка.
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
554 </para>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
555
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
556 </directive>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
557
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
558
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
559 <directive name="fastcgi_read_timeout">
102
c76a257f3fd4 The directive name is now automatically printed in <default> and <syntax>.
Ruslan Ermilov <ru@nginx.com>
parents: 99
diff changeset
560 <syntax><value>время</value></syntax>
295
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
561 <default>60s</default>
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
562 <context>http</context>
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
563 <context>server</context>
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
564 <context>location</context>
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
565
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
566 <para>
295
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
567 Задаёт таймаут при чтении ответа FastCGI-сервера.
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
568 Таймаут устанавливается не на всю передачу ответа,
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
569 а только между двумя операциями чтения.
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
570 Если по истечении этого времени FastCGI-сервер ничего не передаст,
295
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
571 соединение закрывается.
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
572 </para>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
573
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
574 </directive>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
575
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
576
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
577 <directive name="fastcgi_send_timeout">
102
c76a257f3fd4 The directive name is now automatically printed in <default> and <syntax>.
Ruslan Ermilov <ru@nginx.com>
parents: 99
diff changeset
578 <syntax><value>время</value></syntax>
295
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
579 <default>60s</default>
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
580 <context>http</context>
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
581 <context>server</context>
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
582 <context>location</context>
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
583
98
a10bc0cb0a6a Whitespace cleanup.
Ruslan Ermilov <ru@nginx.com>
parents: 97
diff changeset
584 <para>
295
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
585 Задаёт таймаут при передаче запроса FastCGI-серверу.
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
586 Таймаут устанавливается не на всю передачу запроса,
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
587 а только между двумя операциями записи.
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
588 Если по истечении этого времени FastCGI-сервер не примет новых данных,
295
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
589 соединение закрывается.
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
590 </para>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
591
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
592 </directive>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
593
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
594
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
595 <directive name="fastcgi_split_path_info">
102
c76a257f3fd4 The directive name is now automatically printed in <default> and <syntax>.
Ruslan Ermilov <ru@nginx.com>
parents: 99
diff changeset
596 <syntax><value>regex</value></syntax>
99
1d315ef37215 The case <default/> is now language-agnostic.
Ruslan Ermilov <ru@nginx.com>
parents: 98
diff changeset
597 <default/>
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
598 <context>location</context>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
599
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
600 <para>
295
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
601 Задаёт регулярное выражение, выделяющее значение для переменной
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
602 <var>$fastcgi_path_info</var>.
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
603 Регулярное выражение должно иметь два выделения, из которых первое
295
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
604 становится значением переменной <var>$fastcgi_script_name</var>,
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
605 а второе&mdash;значением переменной <var>$fastcgi_path_info</var>.
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
606 Например, при таких настройках
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
607 <example>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
608 location ~ ^(.+\.php)(.*)$ {
295
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
609 fastcgi_split_path_info ^(.+\.php)(.*)$;
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
610 fastcgi_param SCRIPT_FILENAME /path/to/php$fastcgi_script_name;
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
611 fastcgi_param PATH_INFO $fastcgi_path_info;
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
612 </example>
295
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
613 и запросе “<literal>/show.php/article/0001</literal>”
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
614 параметр <literal>SCRIPT_FILENAME</literal> будет равен
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
615 “<literal>/path/to/php/show.php</literal>”, а параметр
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
616 <literal>PATH_INFO</literal>&mdash;“<literal>/article/0001</literal>”.
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
617 </para>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
618
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
619 </directive>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
620
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
621
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
622 <directive name="fastcgi_store">
271
4c6d2c614d2c Cleaned up XML tag mess:
Ruslan Ermilov <ru@nginx.com>
parents: 239
diff changeset
623 <syntax>
295
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
624 <literal>on</literal> |
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
625 <literal>off</literal> |
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
626 <value>строка</value></syntax>
102
c76a257f3fd4 The directive name is now automatically printed in <default> and <syntax>.
Ruslan Ermilov <ru@nginx.com>
parents: 99
diff changeset
627 <default>off</default>
295
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
628 <context>http</context>
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
629 <context>server</context>
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
630 <context>location</context>
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
631
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
632 <para>
295
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
633 Разрешает сохранение на диск файлов.
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
634 Параметр <literal>on</literal> сохраняет файлы в соответствии с путями,
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
635 указанными в директивах
106
56457a474903 If text of the link is not provided, the @id is used.
Ruslan Ermilov <ru@nginx.com>
parents: 102
diff changeset
636 <link doc="ngx_http_core_module.xml" id="alias"/> или
56457a474903 If text of the link is not provided, the @id is used.
Ruslan Ermilov <ru@nginx.com>
parents: 102
diff changeset
637 <link doc="ngx_http_core_module.xml" id="root"/>.
295
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
638 Параметр <literal>off</literal> запрещает сохранение файлов.
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
639 Кроме того, имя файла можно задать явно с помощью строки с переменными:
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
640 <example>
295
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
641 fastcgi_store /data/www$original_uri;
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
642 </example>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
643 </para>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
644
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
645 <para>
295
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
646 Время изменения файлов выставляется согласно полученному полю
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
647 <header>Last-Modified</header> в заголовке ответа.
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
648 Ответ сначала записывается во временный файл, а потом этот файл
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
649 переименовывается.
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
650 Начиная с версии 0.8.9, временный файл и постоянное место хранения ответа
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
651 могут располагаться на разных файловых системах, но нужно учитывать,
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
652 что в этом случае вместо дешёвой операции переименовывания в пределах
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
653 одной файловой системы файл копируется с одной файловой системы на другую.
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
654 Поэтому лучше, если сохраняемые файлы будут находиться на той же файловой
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
655 системе, что и каталог с временными файлами, задаваемый директивой
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
656 <link id="fastcgi_temp_path"/> для данного location.
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
657 </para>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
658
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
659 <para>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
660 Директиву можно использовать для создания локальных копий статических
295
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
661 неизменяемых файлов, например, так:
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
662 <example>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
663 location /images/ {
295
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
664 root /data/www;
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
665 open_file_cache_errors off;
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
666 error_page 404 = /fetch$uri;
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
667 }
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
668
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
669 location /fetch/ {
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
670 internal;
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
671
295
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
672 fastcgi_pass backend:9000;
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
673 ...
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
674
295
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
675 fastcgi_store on;
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
676 fastcgi_store_access user:rw group:rw all:r;
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
677 fastcgi_temp_path /data/temp;
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
678
295
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
679 alias /data/www/;
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
680 }
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
681 </example>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
682 </para>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
683
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
684 </directive>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
685
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
686
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
687 <directive name="fastcgi_store_access">
271
4c6d2c614d2c Cleaned up XML tag mess:
Ruslan Ermilov <ru@nginx.com>
parents: 239
diff changeset
688 <syntax><value>пользователи</value>:<value>права</value> ...</syntax>
102
c76a257f3fd4 The directive name is now automatically printed in <default> and <syntax>.
Ruslan Ermilov <ru@nginx.com>
parents: 99
diff changeset
689 <default>user:rw</default>
295
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
690 <context>http</context>
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
691 <context>server</context>
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
692 <context>location</context>
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
693
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
694 <para>
295
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
695 Задаёт права доступа для создаваемых файлов и каталогов, например,
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
696 <example>
295
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
697 fastcgi_store_access user:rw group:rw all:r;
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
698 </example>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
699 </para>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
700
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
701 <para>
295
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
702 Если заданы какие-либо права для <literal>group</literal> или
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
703 <literal>all</literal>, то права для <literal>user</literal>
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
704 указывать необязательно:
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
705 <example>
295
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
706 fastcgi_store_access group:rw all:r;
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
707 </example>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
708 </para>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
709
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
710 </directive>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
711
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
712
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
713 <directive name="fastcgi_temp_path">
295
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
714 <syntax>
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
715 <value>путь</value>
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
716 [<value>уровень1</value>
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
717 [<value>уровень2</value>
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
718 [<value>уровень3</value>]]]</syntax>
102
c76a257f3fd4 The directive name is now automatically printed in <default> and <syntax>.
Ruslan Ermilov <ru@nginx.com>
parents: 99
diff changeset
719 <default>fastcgi_temp</default>
295
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
720 <context>http</context>
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
721 <context>server</context>
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
722 <context>location</context>
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
723
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
724 <para>
295
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
725 Задаёт имя каталога для хранения временных файлов,
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
726 полученных от другого сервера.
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
727 В каталоге может использоваться иерархия подкаталогов до трёх уровней.
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
728 Например, при такой конфигурации
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
729 <example>
295
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
730 fastcgi_temp_path /spool/nginx/fastcgi_temp 1 2;
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
731 </example>
295
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
732 временный файл будет следующего вида:
98
a10bc0cb0a6a Whitespace cleanup.
Ruslan Ermilov <ru@nginx.com>
parents: 97
diff changeset
733 <example>
295
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
734 /spool/nginx/fastcgi_temp/<emphasis>7</emphasis>/<emphasis>45</emphasis>/00000123<emphasis>457</emphasis>
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
735 </example>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
736 </para>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
737
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
738 </directive>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
739
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
740 </section>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
741
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
742
295
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
743 <section id="parameters" name="Параметры, передаваемые FastCGI-серверу">
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
744
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
745 <para>
295
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
746 Поля заголовка HTTP-запроса передаются FastCGI-серверу в виде параметров.
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
747 В приложениях и скриптах, запущенных в виде FastCGI-сервера,
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
748 эти параметры обычно доступны в виде переменных среды.
295
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
749 Например, поле заголовка <header>User-Agent</header> передаётся как параметр
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
750 <literal>HTTP_USER_AGENT</literal>.
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
751 Кроме полей заголовка HTTP-запроса можно передавать произвольные параметры
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
752 с помощью директивы <link id="fastcgi_param"/>.
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
753 </para>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
754
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
755 </section>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
756
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
757
295
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
758 <section id="variables" name="Встроенные переменные">
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
759
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
760 <para>
295
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
761 В модуле <literal>ngx_http_fastcgi_module</literal> есть встроенные переменные,
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
762 которые можно использовать для формирования параметров с помощью директивы
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
763 <link id="fastcgi_param"/>:
295
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
764 <list type="tag">
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
765
295
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
766 <tag-name><var>$fastcgi_script_name</var></tag-name>
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
767 <tag-desc>
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
768 <para>
295
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
769 URI запроса или же, если URI заканчивается слэшом,
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
770 то URI запроса, дополненное именем индексного файла, задаваемого директивой
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
771 <link id="fastcgi_index"/>.
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
772 Эту переменную можно использовать для задания параметров
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
773 <literal>SCRIPT_FILENAME</literal> и <literal>PATH_TRANSLATED</literal>,
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
774 используемых, в частности, для определения имени скрипта в PHP.
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
775 Например, для запроса “<literal>/info/</literal>” и при использовании
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
776 директив
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
777 <example>
295
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
778 fastcgi_index index.php;
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
779 fastcgi_param SCRIPT_FILENAME /home/www/scripts/php$fastcgi_script_name;
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
780 </example>
295
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
781 параметр <literal>SCRIPT_FILENAME</literal> будет равен
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
782 “<literal>/home/www/scripts/php/info/index.php</literal>”.
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
783 </para>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
784
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
785 <para>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
786 При использовании директивы <link id="fastcgi_split_path_info"/>
295
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
787 переменная <var>$fastcgi_script_name</var> равна значению первого выделения,
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
788 задаваемого этой директивой.
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
789 </para>
295
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
790 </tag-desc>
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
791
295
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
792 <tag-name><var>$fastcgi_path_info</var></tag-name>
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
793 <tag-desc>значение второго выделения, задаваемого директивой
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
794 <link id="fastcgi_split_path_info"/>.
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
795 Эту переменную можно использовать для задания параметра
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
796 <literal>PATH_INFO</literal>.
38e111ec051d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 285
diff changeset
797 </tag-desc>
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
798
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
799 </list>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
800 </para>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
801
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
802 </section>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
803
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
804 </module>