Forge
markdowne8ad0934
1# Playbook: nginx — администрирование (v1)
2
3> **Scope:** типовые настройки nginx, работа с PHP-FPM и proxy. Без привязки к конкретным доменам и путям.
4
5---
6
7## Ключевые понятия
8
9- **client_max_body_size:** максимальный размер тела запроса (по умолчанию 1M). При превышении — 413. Задаётся в http, server или location.
10- **FastCGI / PHP-FPM:** nginx передаёт запросы приложению через FastCGI; PHP-FPM — менеджер процессов PHP. Связь через Unix-сокет или TCP.
11- **stub_status:** модуль nginx для выдачи метрик (соединения, запросы) — для мониторинга (Zabbix и др.).
12
13---
14
15## Практики
16
17- **Права и пользователи:** отдельный пользователь/пул PHP-FPM на приложение; nginx под своим пользователем; nginx добавлен в группу владельца файлов сайта для чтения. Владелец файлов — пользователь приложения, не nginx. Избегать 777 и владения nginx:nginx на файлах приложения.
18- **Связь с PHP-FPM:** предпочтительно Unix-сокет (`fastcgi_pass unix:/path/to/socket`); быстрее и без сетевого стека.
19- **Безопасность:** заголовки X-Frame-Options, X-Content-Type-Options, X-XSS-Protection; запрет доступа к скрытым файлам `location ~ /\. { deny all; }`.
20- **Статика:** отдавать статику из nginx, кэшировать; не проксировать её в PHP без необходимости.
21
22---
23
24## Типовая проблема: 413
25
26- В нужном server/location задать `client_max_body_size 50M;` (или иное значение по требованиям).
27- Проверка: `nginx -t`, затем `nginx -s reload`.
28
29---
30
31## Анти-паттерны
32
33- Общий пользователь для всех сайтов (www-data на всём) — смешение прав и рисков.
34- Reload без `nginx -t`.
35- Отсутствие лимита на размер тела при загрузке файлов — риск DoS и 413 без явной настройки.
36
37---
38
39## Диагностика
40
41Сводка: [`troubleshooting/playbook-ops-network-admin-troubleshooting-v1.md`](troubleshooting/playbook-ops-network-admin-troubleshooting-v1.md) § nginx / PHP-FPM.
42
43---
44
45*Источники: документация nginx, практики настройки PHP-FPM. Конкретные виртуальные хосты и пути — в локальном контексте.*
46
47
View only · write via MCP/CIDE