Комментарии 13
А есть инфа на сколько выросла или упала производительность, может там такие крохи что даже этого не стоит делать.
например тот же try_files вдруг наоборот замедлит запрос, из за того что будет каждый раз проверять файловую систему перед обращением к серверу.
Тоже интересно. На первый взгляд не очень понятна выгода, а поддерживать потом этот конфиг кому-то надо будет.
Как минимум статичные файлы буду отрабатываться быстрее, а вот "location /" будет работать быстрее там, где будет больше статичных страниц. Если в проекте много путей с getServerSideProps, то можно в / просто проксировать Нексту.
А что касается статистики, то идея здравая. Когда будет возможность провести тестирование, я опубликую данные
А если next бежит в докере?
Подскажите, не совсем понял момент со специальной обработкой public-папки. У меня такой конфиг:
Hidden text
server {
server_name example.com;
index index.html;
root ~/projects/my-site;
charset utf-8;
location /_next/static {
alias ~/projects/my-site/.next/static;
}
location / {
proxy_pass http://localhost:8080;
}
}
Вроде бы всё работает, всё фавиконки и другие файлики отдаются nginx- ом.
Структура в проекте такая:
|--.next
|--out
|--pages
|--public
|--node_modules
|--и.т.д.
next 12.0.8
Зачем специально обрабатывать public? Или я что-то неправильно понял?
Ну и как фавиконки могут при вашем конфиге отдаваться nginx-ом, если они лежат не в .next/static, а в public, который у вас настроен на безусловный proxy_pass?
Да, потом уже понял. Спасибо)
Ещё момент, правильно ли я понимаю что в статье немножко неверно, т.е. вместо строки root $root/public;
должно бытьroot $root/out;
?
public-папка некста - это исходники, которые после билда копируются в out-папку.
Не вижу я на свежем проекте никакой папки out, только public.
После сборки сгенерировалась папка .next, но внутри нет никаких файлов из public.
Вот тут посмотрите, про папку `out` пишут
https://nextjs.org/docs/app/building-your-application/deploying/static-exports
Ну такое, встроенный сервер Next.js имеет много разнообразных оптимизаций, плюс есть страницы с серверными параметрами, которые тут не учтены совсем
Подозреваю, что nginx в связке с next имеет смысл, только если есть что-то ещё кроме next, куда нужно проксировать запросы. Api бэкенд какой-то, к примеру.
Но тем не менее. было любопытно повторить опыт автора.
Я запустил дефолтный проект next.js со стандартной заглушкой next.js в /var/www/nextjs.
Сделал Ctrl+C Ctrl+V для конфига nginx.
В результате 403.
Разбираться смысла не вижу, статья сомнительная.
Конфигурируем веб-сервер для Next.js