Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
nginx
GitHub Repository: nginx/nginx.org
Path: blob/main/xml/ru/linux_packages.xml
1 views
1
<!--
2
Copyright (C) Nginx, Inc.
3
-->
4
5
<!DOCTYPE article SYSTEM "../../dtd/article.dtd">
6
7
<article name="nginx: пакеты для Linux"
8
link="/ru/linux_packages.html"
9
lang="ru"
10
rev="116">
11
12
<section name="Поддерживаемые дистрибутивы и версии" id="distributions">
13
14
<para>
15
Пакеты nginx доступны для следующих дистрибутивов Linux и их
16
версий:
17
</para>
18
19
<para>
20
<link id="RHEL">RHEL и производные</link>
21
22
<table note="yes">
23
24
<tr>
25
<td width="30%">Версия</td>
26
<td>Поддерживаемые платформы</td>
27
</tr>
28
29
<tr>
30
<td width="30%">8.x</td>
31
<td>x86_64, aarch64/arm64</td>
32
</tr>
33
34
<tr>
35
<td width="30%">9.x</td>
36
<td>x86_64, aarch64/arm64</td>
37
</tr>
38
39
<tr>
40
<td width="30%">10.x</td>
41
<td>x86_64, aarch64/arm64</td>
42
</tr>
43
44
</table>
45
</para>
46
47
<para>
48
<link id="Debian">Debian</link>
49
50
<table note="yes">
51
52
<tr>
53
<td width="30%">Версия</td>
54
<td>Поддерживаемые платформы</td>
55
</tr>
56
57
<tr>
58
<td width="30%">11.x “bullseye”</td>
59
<td>x86_64, aarch64/arm64</td>
60
</tr>
61
62
<tr>
63
<td width="30%">12.x “bookworm”</td>
64
<td>x86_64, aarch64/arm64</td>
65
</tr>
66
67
<tr>
68
<td width="30%">13.x “trixie”</td>
69
<td>x86_64, aarch64/arm64</td>
70
</tr>
71
72
</table>
73
</para>
74
75
<para>
76
<link id="Ubuntu">Ubuntu</link>
77
78
<table note="yes">
79
80
<tr>
81
<td width="30%">Версия</td>
82
<td>Поддерживаемые платформы</td>
83
</tr>
84
85
<tr>
86
<td width="30%">22.04 “jammy”</td>
87
<td>x86_64, aarch64/arm64</td>
88
</tr>
89
90
<tr>
91
<td width="30%">24.04 “noble”</td>
92
<td>x86_64, aarch64/arm64</td>
93
</tr>
94
95
<tr>
96
<td width="30%">25.10 “questing”</td>
97
<td>x86_64, aarch64/arm64</td>
98
</tr>
99
100
<tr>
101
<td width="30%">26.04 “resolute”</td>
102
<td>x86_64, aarch64/arm64</td>
103
</tr>
104
105
</table>
106
</para>
107
108
<para>
109
<link id="SLES">SLES</link>
110
111
<table note="yes">
112
113
<tr>
114
<td width="30%">Версия</td>
115
<td>Поддерживаемые платформы</td>
116
</tr>
117
118
<tr>
119
<td width="30%">15 SP6+</td>
120
<td>x86_64</td>
121
</tr>
122
123
<tr>
124
<td width="30%">16</td>
125
<td>x86_64, aarch64/arm64</td>
126
</tr>
127
128
</table>
129
</para>
130
131
<para>
132
<link id="Alpine">Alpine</link>
133
134
<table note="yes">
135
136
<tr>
137
<td width="30%">Версия</td>
138
<td>Поддерживаемые платформы</td>
139
</tr>
140
141
<tr>
142
<td width="30%">3.21</td>
143
<td>x86_64, aarch64/arm64</td>
144
</tr>
145
146
<tr>
147
<td width="30%">3.22</td>
148
<td>x86_64, aarch64/arm64</td>
149
</tr>
150
151
<tr>
152
<td width="30%">3.23</td>
153
<td>x86_64, aarch64/arm64</td>
154
</tr>
155
156
</table>
157
</para>
158
159
<para>
160
<link id="Amazon-Linux">Amazon Linux</link>
161
162
<table note="yes">
163
164
<tr>
165
<td width="30%">Версия</td>
166
<td>Поддерживаемые платформы</td>
167
</tr>
168
169
<tr>
170
<td width="30%">2 (LTS)</td>
171
<td>x86_64, aarch64/arm64</td>
172
</tr>
173
174
<tr>
175
<td width="30%">2023</td>
176
<td>x86_64, aarch64/arm64</td>
177
</tr>
178
179
</table>
180
</para>
181
182
</section>
183
184
185
<section name="Инструкции по установке" id="instructions">
186
187
<para>
188
Для того, чтобы поставить nginx на новой машине, необходимо подключить
189
и настроить репозиторий пакетов nginx.
190
После этого можно будет установить и обновлять nginx из этого репозитория.
191
</para>
192
193
<section name="RHEL и производные" id="RHEL">
194
195
<para>
196
Эта секция применима к Red Hat Enterprise Linux и его производным, таким как
197
CentOS, Oracle Linux, Rocky Linux, AlmaLinux.
198
</para>
199
200
<para>
201
Установите пакеты, необходимые для подключения yum-репозитория:
202
<programlisting>
203
sudo yum install yum-utils
204
</programlisting>
205
206
Для подключения yum-репозитория создайте файл с именем
207
<path>/etc/yum.repos.d/nginx.repo</path>
208
со следующим содержимым:
209
210
<programlisting>
211
[nginx-stable]
212
name=nginx stable repo
213
baseurl=https://nginx.org/packages/centos/$releasever/$basearch/
214
gpgcheck=1
215
enabled=1
216
gpgkey=https://nginx.org/keys/nginx_signing.key
217
module_hotfixes=true
218
219
[nginx-mainline]
220
name=nginx mainline repo
221
baseurl=https://nginx.org/packages/mainline/centos/$releasever/$basearch/
222
gpgcheck=1
223
enabled=0
224
gpgkey=https://nginx.org/keys/nginx_signing.key
225
module_hotfixes=true
226
</programlisting>
227
228
По умолчанию используется репозиторий для стабильной версии nginx.
229
Если предпочтительно использовать пакеты для основной версии nginx,
230
выполните следующую команду:
231
<programlisting>
232
sudo yum-config-manager --enable nginx-mainline
233
</programlisting>
234
235
Чтобы установить nginx, выполните следующую команду:
236
<programlisting>
237
sudo yum install nginx
238
</programlisting>
239
240
При запросе подтверждения GPG-ключа проверьте, что отпечаток ключа совпадает
241
с <command>573B FD6B 3D8F BC64 1079 A6AB ABF5 BD82 7BD9 BF62</command>, и,
242
если это так, подтвердите его.
243
</para>
244
245
</section>
246
247
248
<section name="Debian" id="Debian">
249
250
<para>
251
Установите пакеты, необходимые для подключения apt-репозитория:
252
<programlisting>
253
sudo apt install curl gnupg2 ca-certificates lsb-release debian-archive-keyring
254
</programlisting>
255
</para>
256
257
<para>
258
Теперь нужно импортировать официальный ключ,
259
используемый apt для проверки подлинности пакетов.
260
Скачайте ключ:
261
<programlisting>
262
curl https://nginx.org/keys/nginx_signing.key | gpg --dearmor \
263
| sudo tee /usr/share/keyrings/nginx-archive-keyring.gpg >/dev/null
264
</programlisting>
265
266
Проверьте, верный ли ключ был загружен:
267
<programlisting>
268
gpg --dry-run --quiet --no-keyring --import --import-options import-show /usr/share/keyrings/nginx-archive-keyring.gpg
269
</programlisting>
270
271
Вывод команды должен содержать полный отпечаток ключа
272
<command>573BFD6B3D8FBC641079A6ABABF5BD827BD9BF62</command>:
273
<programlisting>
274
pub rsa2048 2011-08-19 [SC] [expires: 2027-05-24]
275
573BFD6B3D8FBC641079A6ABABF5BD827BD9BF62
276
uid nginx signing key &lt;[email protected]&gt;
277
</programlisting>
278
Вывод команды может содержать и другие ключи, используемые для подписи пакетов.
279
</para>
280
281
<para>
282
Для подключения apt-репозитория для стабильной версии nginx,
283
выполните следующую команду:
284
<programlisting>
285
echo "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] \
286
https://nginx.org/packages/debian `lsb_release -cs` nginx" \
287
| sudo tee /etc/apt/sources.list.d/nginx.list
288
</programlisting>
289
290
Если предпочтительно использовать пакеты для основной версии nginx,
291
выполните следующую команду вместо предыдущей:
292
<programlisting>
293
echo "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] \
294
https://nginx.org/packages/mainline/debian `lsb_release -cs` nginx" \
295
| sudo tee /etc/apt/sources.list.d/nginx.list
296
</programlisting>
297
</para>
298
299
<para>
300
Для использования пакетов из нашего репозитория вместо
301
распространяемых в дистрибутиве, настройте закрепление:
302
<programlisting>
303
echo -e "Package: *\nPin: origin nginx.org\nPin: release o=nginx\nPin-Priority: 900\n" \
304
| sudo tee /etc/apt/preferences.d/99nginx
305
</programlisting>
306
</para>
307
308
<para>
309
Чтобы установить nginx, выполните следующие команды:
310
<programlisting>
311
sudo apt update
312
sudo apt install nginx
313
</programlisting>
314
</para>
315
316
</section>
317
318
319
<section name="Ubuntu" id="Ubuntu">
320
321
<para>
322
Установите пакеты, необходимые для подключения apt-репозитория:
323
<programlisting>
324
sudo apt install curl gnupg2 ca-certificates lsb-release ubuntu-keyring
325
</programlisting>
326
</para>
327
328
<para>
329
Теперь нужно импортировать официальный ключ,
330
используемый apt для проверки подлинности пакетов.
331
Скачайте ключ:
332
<programlisting>
333
curl https://nginx.org/keys/nginx_signing.key | gpg --dearmor \
334
| sudo tee /usr/share/keyrings/nginx-archive-keyring.gpg >/dev/null
335
</programlisting>
336
337
Проверьте, верный ли ключ был загружен:
338
<programlisting>
339
gpg --dry-run --quiet --no-keyring --import --import-options import-show /usr/share/keyrings/nginx-archive-keyring.gpg
340
</programlisting>
341
342
Вывод команды должен содержать полный отпечаток ключа
343
<command>573BFD6B3D8FBC641079A6ABABF5BD827BD9BF62</command>:
344
<programlisting>
345
pub rsa2048 2011-08-19 [SC] [expires: 2027-05-24]
346
573BFD6B3D8FBC641079A6ABABF5BD827BD9BF62
347
uid nginx signing key &lt;[email protected]&gt;
348
</programlisting>
349
Вывод команды может содержать и другие ключи, используемые для подписи пакетов.
350
</para>
351
352
<para>
353
Для подключения apt-репозитория для стабильной версии nginx,
354
выполните следующую команду:
355
<programlisting>
356
echo "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] \
357
https://nginx.org/packages/ubuntu `lsb_release -cs` nginx" \
358
| sudo tee /etc/apt/sources.list.d/nginx.list
359
</programlisting>
360
361
Если предпочтительно использовать пакеты для основной версии nginx,
362
выполните следующую команду вместо предыдущей:
363
<programlisting>
364
echo "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] \
365
https://nginx.org/packages/mainline/ubuntu `lsb_release -cs` nginx" \
366
| sudo tee /etc/apt/sources.list.d/nginx.list
367
</programlisting>
368
</para>
369
370
<para>
371
Для использования пакетов из нашего репозитория вместо
372
распространяемых в дистрибутиве, настройте закрепление:
373
<programlisting>
374
echo -e "Package: *\nPin: origin nginx.org\nPin: release o=nginx\nPin-Priority: 900\n" \
375
| sudo tee /etc/apt/preferences.d/99nginx
376
</programlisting>
377
</para>
378
379
<para>
380
Чтобы установить nginx, выполните следующие команды:
381
<programlisting>
382
sudo apt update
383
sudo apt install nginx
384
</programlisting>
385
</para>
386
387
</section>
388
389
390
<section name="SLES" id="SLES">
391
392
<para>
393
Установите пакеты, необходимые для подключения zypper-репозитория:
394
<programlisting>
395
sudo zypper install curl ca-certificates gpg2
396
</programlisting>
397
398
Для подключения zypper-репозитория для стабильной версии nginx,
399
выполните следующую команду:
400
<programlisting>
401
sudo zypper addrepo --gpgcheck --type yum --refresh --check \
402
'https://nginx.org/packages/sles/$releasever_major' nginx-stable
403
</programlisting>
404
405
Если предпочтительно использовать пакеты для основной версии nginx,
406
выполните следующую команду вместо предыдущей:
407
<programlisting>
408
sudo zypper addrepo --gpgcheck --type yum --refresh --check \
409
'https://nginx.org/packages/mainline/sles/$releasever_major' nginx-mainline
410
</programlisting>
411
412
Теперь нужно импортировать официальный ключ, используемый zypper/rpm
413
для проверки подлинности пакетов.
414
Скачайте ключ:
415
<programlisting>
416
curl -o /tmp/nginx_signing.key https://nginx.org/keys/nginx_signing.key
417
</programlisting>
418
419
Проверьте, верный ли ключ был загружен:
420
<programlisting>
421
gpg --with-fingerprint /tmp/nginx_signing.key
422
</programlisting>
423
424
Вывод команды должен содержать полный отпечаток ключа
425
<command>573B FD6B 3D8F BC64 1079 A6AB ABF5 BD82 7BD9 BF62</command>:
426
<programlisting>
427
pub 2048R/7BD9BF62 2011-08-19 [expires: 2027-05-24]
428
Key fingerprint = 573B FD6B 3D8F BC64 1079 A6AB ABF5 BD82 7BD9 BF62
429
uid nginx signing key &lt;[email protected]&gt;
430
</programlisting>
431
432
Импортируйте ключ в базу данных rpm:
433
<programlisting>
434
sudo rpmkeys --import /tmp/nginx_signing.key
435
</programlisting>
436
437
Чтобы установить nginx, выполните следующую команду:
438
<programlisting>
439
sudo zypper install nginx
440
</programlisting>
441
</para>
442
443
</section>
444
445
446
<section name="Alpine" id="Alpine">
447
448
<para>
449
Установите пакеты, необходимые для подключения apk-репозитория:
450
<programlisting>
451
sudo apk add openssl curl ca-certificates
452
</programlisting>
453
454
Для подключения apk-репозитория для стабильной версии nginx,
455
выполните следующую команду:
456
<programlisting>
457
printf "%s%s%s%s\n" \
458
"@nginx " \
459
"https://nginx.org/packages/alpine/v" \
460
`egrep -o '^[0-9]+\.[0-9]+' /etc/alpine-release` \
461
"/main" \
462
| sudo tee -a /etc/apk/repositories
463
</programlisting>
464
465
Если предпочтительно использовать пакеты для основной версии nginx,
466
выполните следующую команду вместо предыдущей:
467
<programlisting>
468
printf "%s%s%s%s\n" \
469
"@nginx " \
470
"https://nginx.org/packages/mainline/alpine/v" \
471
`egrep -o '^[0-9]+\.[0-9]+' /etc/alpine-release` \
472
"/main" \
473
| sudo tee -a /etc/apk/repositories
474
</programlisting>
475
476
Теперь нужно импортировать официальный ключ, используемый apk
477
для проверки подлинности пакетов.
478
Скачайте ключ:
479
<programlisting>
480
curl -o /tmp/nginx_signing.rsa.pub https://nginx.org/keys/nginx_signing.rsa.pub
481
</programlisting>
482
483
Проверьте, верный ли ключ был загружен:
484
<programlisting>
485
openssl rsa -pubin -in /tmp/nginx_signing.rsa.pub -text -noout
486
</programlisting>
487
488
Вывод команды должен содержать следующий модуль:
489
<programlisting>
490
Public-Key: (2048 bit)
491
Modulus:
492
00:fe:14:f6:0a:1a:b8:86:19:fe:cd:ab:02:9f:58:
493
2f:37:70:15:74:d6:06:9b:81:55:90:99:96:cc:70:
494
5c:de:5b:e8:4c:b2:0c:47:5b:a8:a2:98:3d:11:b1:
495
f6:7d:a0:46:df:24:23:c6:d0:24:52:67:ba:69:ab:
496
9a:4a:6a:66:2c:db:e1:09:f1:0d:b2:b0:e1:47:1f:
497
0a:46:ac:0d:82:f3:3c:8d:02:ce:08:43:19:d9:64:
498
86:c4:4e:07:12:c0:5b:43:ba:7d:17:8a:a3:f0:3d:
499
98:32:b9:75:66:f4:f0:1b:2d:94:5b:7c:1c:e6:f3:
500
04:7f:dd:25:b2:82:a6:41:04:b7:50:93:94:c4:7c:
501
34:7e:12:7c:bf:33:54:55:47:8c:42:94:40:8e:34:
502
5f:54:04:1d:9e:8c:57:48:d4:b0:f8:e4:03:db:3f:
503
68:6c:37:fa:62:14:1c:94:d6:de:f2:2b:68:29:17:
504
24:6d:f7:b5:b3:18:79:fd:31:5e:7f:4c:be:c0:99:
505
13:cc:e2:97:2b:dc:96:9c:9a:d0:a7:c5:77:82:67:
506
c9:cb:a9:e7:68:4a:e1:c5:ba:1c:32:0e:79:40:6e:
507
ef:08:d7:a3:b9:5d:1a:df:ce:1a:c7:44:91:4c:d4:
508
99:c8:88:69:b3:66:2e:b3:06:f1:f4:22:d7:f2:5f:
509
ab:6d
510
Exponent: 65537 (0x10001)
511
</programlisting>
512
513
Переместите ключ в каталог доверенных ключей apk:
514
<programlisting>
515
sudo mv /tmp/nginx_signing.rsa.pub /etc/apk/keys/
516
</programlisting>
517
518
Чтобы установить nginx, выполните следующую команду:
519
<programlisting>
520
sudo apk add nginx@nginx
521
</programlisting>
522
523
Тэг <literal>@nginx</literal> должен быть указан и при установке пакетов
524
с <link url="#dynmodules">динамическими модулями</link>:
525
<programlisting>
526
sudo apk add nginx-module-image-filter@nginx nginx-module-njs@nginx
527
</programlisting>
528
</para>
529
530
</section>
531
532
533
<section name="Amazon Linux" id="Amazon-Linux">
534
535
<para>
536
Установите пакеты, необходимые для подключения yum-репозитория:
537
<programlisting>
538
sudo yum install yum-utils
539
</programlisting>
540
541
Для подключения yum-репозитория для Amazon Linux 2 создайте файл с именем
542
<path>/etc/yum.repos.d/nginx.repo</path>
543
со следующим содержимым:
544
545
<programlisting>
546
[nginx-stable]
547
name=nginx stable repo
548
baseurl=https://nginx.org/packages/amzn2/$releasever/$basearch/
549
gpgcheck=1
550
enabled=1
551
gpgkey=https://nginx.org/keys/nginx_signing.key
552
module_hotfixes=true
553
priority=9
554
555
[nginx-mainline]
556
name=nginx mainline repo
557
baseurl=https://nginx.org/packages/mainline/amzn2/$releasever/$basearch/
558
gpgcheck=1
559
enabled=0
560
gpgkey=https://nginx.org/keys/nginx_signing.key
561
module_hotfixes=true
562
priority=9
563
</programlisting>
564
565
Для подключения yum-репозитория для Amazon Linux 2023 создайте файл с именем
566
<path>/etc/yum.repos.d/nginx.repo</path>
567
со следующим содержимым:
568
569
<programlisting>
570
[nginx-stable]
571
name=nginx stable repo
572
baseurl=https://nginx.org/packages/amzn/2023/$basearch/
573
gpgcheck=1
574
enabled=1
575
gpgkey=https://nginx.org/keys/nginx_signing.key
576
module_hotfixes=true
577
priority=9
578
579
[nginx-mainline]
580
name=nginx mainline repo
581
baseurl=https://nginx.org/packages/mainline/amzn/2023/$basearch/
582
gpgcheck=1
583
enabled=0
584
gpgkey=https://nginx.org/keys/nginx_signing.key
585
module_hotfixes=true
586
priority=9
587
</programlisting>
588
589
По умолчанию используется репозиторий для стабильной версии nginx.
590
Если предпочтительно использовать пакеты для основной версии nginx,
591
выполните следующую команду:
592
<programlisting>
593
sudo yum-config-manager --enable nginx-mainline
594
</programlisting>
595
596
Чтобы установить nginx, выполните следующую команду:
597
<programlisting>
598
sudo yum install nginx
599
</programlisting>
600
601
При запросе подтверждения GPG-ключа проверьте, что отпечаток ключа совпадает
602
с <command>573B FD6B 3D8F BC64 1079 A6AB ABF5 BD82 7BD9 BF62</command>, и,
603
если это так, подтвердите его.
604
</para>
605
606
</section>
607
608
</section>
609
610
611
<section name="Пакеты с исходным кодом" id="sourcepackages">
612
613
<para>
614
Исходные коды пакетов находятся в соответствующем
615
<link url="https://github.com/nginx/pkg-oss">репозитории</link>.
616
</para>
617
618
<para>
619
Ветка репозитория <literal>master</literal> содержит исходные коды пакетов для
620
mainline-версии, в то время как ветки <literal>stable-*</literal> содержат
621
исходные коды пакетов для стабильных релизов.
622
Для сборки бинарных пакетов запустите <command>make</command> в каталоге
623
<path>debian/</path> для Debian/Ubuntu, или в каталоге
624
<path>rpm/SPECS/</path> для RHEL и производных, SLES, и Amazon Linux, или в каталоге
625
<path>alpine/</path> для Alpine.
626
</para>
627
628
<para>
629
Исходные коды пакетов распространяются под той же
630
<link url="../LICENSE">BSD-подобной лицензией из 2 пунктов</link>,
631
что и сам nginx.
632
</para>
633
634
</section>
635
636
637
<section name="Динамические модули" id="dynmodules">
638
639
<para>
640
Для того чтобы избежать увеличения числа зависимостей, основной пакет nginx не
641
включает модули, которым требуются дополнительные библиотеки.
642
Начиная с версии 1.9.11 nginx поддерживает
643
<link doc="docs/ngx_core_module.xml" id="load_module">динамические
644
модули</link>, и следующие модули собираются как динамические и поставляются в
645
виде отдельных пакетов:
646
<programlisting>
647
nginx-module-geoip
648
nginx-module-image-filter
649
nginx-module-njs
650
nginx-module-perl
651
nginx-module-xslt
652
</programlisting>
653
В дополнение к этому, начиная с версии 1.25.3 следующий модуль поставляется
654
в виде отдельного пакета:
655
<programlisting>
656
nginx-module-otel
657
</programlisting>
658
В дополнение к этому, начиная с версии 1.29.1 следующий модуль поставляется
659
в виде отдельного пакета:
660
<programlisting>
661
nginx-module-acme
662
</programlisting>
663
</para>
664
665
</section>
666
667
668
<section name="Подписи" id="signatures">
669
670
<para>
671
Поскольку наши <link doc="../en/pgp_keys.xml">PGP-ключи</link>
672
находятся на том же сервере, что и пакеты,
673
им следует доверять в равной степени.
674
Поэтому мы настоятельно рекомендуем дополнительно проверить
675
подлинность загруженных PGP-ключей.
676
В PGP есть понятие “сети доверия”,
677
когда ключ подписывается чьим-либо другим ключом,
678
тот в свою очередь третьим, и т.д.
679
Это зачастую позволяет построить цепочку от произвольного ключа
680
до ключа человека, которого вы знаете и кому доверяете лично,
681
и таким образом удостовериться в подлинности первого ключа в цепочке.
682
Подробно эта концепция описана в
683
<link url="https://www.gnupg.org/howtos/en/GPGMiniHowto-1.html">
684
GPG Mini Howto</link>.
685
У наших ключей есть достаточное количество подписей,
686
поэтому проверить их подлинность относительно несложно.
687
</para>
688
689
</section>
690
691
</article>
692
693