Статика через nginx в приложении Next.js
В приложении на next.js загружаемые фото я сразу обрабатываю, уменьшенные копии складываю в /public/thumbnails , а оригиналы в /public/uploads .
Пример конфигурационного файла nginx для выдачи статики
server { listen 80; server_name localhost; # Убедитесь, что это соответствует вашему домену или IP-адресу root /var/www/my_app; # Путь к каталогу вашего проекта # Отдаем статические файлы из каталога thumbnails location /thumbnails/ { alias /var/www/my_app/public/thumbnails/; expires 30d; # Устанавливаем кэширование статических файлов add_header Cache-Control "public"; } location /uploads/ { alias /var/www/my_app/public/uploads/; expires 30d; # Устанавливаем кэширование статических файлов add_header Cache-Control "public"; } # Проксирование всех других запросов на сервер Node.js location / { proxy_pass http://localhost:3000; # Порт, на котором работает ваше приложение Node.js proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } # Обработка ошибок error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } }