Nginx websocket

Со стороны Nginx websocket — дополнительные заголовки при проксировании. Ниже приведен пример конфигурационного файла Nginx для приложения на NodeJS, использующего вебсокеты.

Обработка ошибки в Nginx

Обработка ошибки в Nginx иногда требует менять код ответа и направлять запросы в определенный location. Ниже приведен фрагмент конфигурационного файла, позволяющий это делать.

Nginx proxy cache

Nginx proxy cache или серверное кэширование Nginx — позволяет сохранять на сервере результаты выполнения запросов и отдавать их повторно другим пользователям.

X-Forwarded-Proto в Nginx

X-Forwarded-Proto — переменная окружения, которая задействует когда применяется веб-сервер с проксированием. Обычно Nginx и Apache. Без X-Forwarded-Proto (или переменной окружения HTTPS) сайт с такой конфигурацией часто не будет работать по https.

Ошибка Nignx could not build the server

При добавлении очередного сайта на нагруженном сервере иногда можно столкнуться с ошибкой could not build the server_names_hash. Nignx при этом перестает запускаться.

Ошибка upstream timed out в Nginx

upstream timed out 101- ошибка, которая возникает при превышении лимита ожидания выполнения скрипта веб-сервером. Часто при таймауте соединения клиент будет видеть 504 ошибку.

400 bad request nginx — как исправить ошибку

Ошибка 400 bad request nginx означает, что сделан неверный запрос. Если речь идет о запросах к базе данных или API — причина может быть в работе бэкенда. Например, недостаточное количество знаков в  поле БД.

Nginx unix socket

В Nginx unix socket — способ подключения к бэкенду в виде PHP-FPM, позволяющий избежать сетевых запросов и дающий значительный прирос в скорости работы.

Nginx кэширование статики на стороне сервера

Nginx часто применяется в веб-проектах не в малой степени потому, что позволяет временно сохранять  контент сайтов. В Nginx кэширование настраивается очень просто (по сравнению с другими хранилищами) и является хорошим средством оптимизации работы веб-сервера.

NodeJS в production

NodeJS в production — запуск проекта, разработка которого завершена на сервере, к которому есть общий доступ. Контент должен отдаваться при запросе, поступившему на стандартный порт веб-сервера. Также нужна отказоустойчивость на случай прерывания процесса NodeJS.