Обновление nginx c версии 1.6 до 1.8 и решение проблем

Nginx

Речь пойдет конечно же об обновлениях на OS и . Но я думаю, что на других OS те же похожие проблемы, с которыми можно столкнуться.
В этом посте я опишу решение нескольких из них.

Установка

Во первых стоит обновлять только либо из родных репозиториев, либо из проверенных либо из оффициальных nginx.
Для Debian это будет http://nginx.org/ru/linux_packages.html

Для Ubuntu есть PPA https://launchpad.net/~nginx/+archive/ubuntu/stable

Есть еще репозитории на любителя, например dot.deb.

Дальше установка стандартная для обоих систем. Предварительно если есть старая версия nginx то

При установке новой версии при предложениях заменить конфиг лучше соглашаться. Лучше настроить заново на основе текущей версии потом, чем в панике решать проблемы, когда все упало.

И вот тут и начинается самое веселое ради чего и сделан пост – решение проблем.

Проблема с устаревшими конфигами постов или php показывает пустые белые страницы

Вся проблема тут в том, что вместо устаревшей инструкции в конфиге хоста

нужно вставить

Если хостов много, то можно замену сделать автоматически

Все должно заработать.

Проблема с тем, что nginx обрезает ответ (response), выдает не целиком

Во первых надо проверить директивы в конфиге nginx.conf

Они должны быть достаточно большие. Если это не помогает – стоит заглянуть в error.log, там может быть ошибка указываюшая на то, что нет доступа к папке кеша.
В зависимости от версии это может быть папка /usr/local/nginx/fastcgi_temp или /var/cache/nginx/fastcgi_temp/. Тут исправить просто

 Проблема 502 gateway или проблема с php сокетом

Банально если в error.log валятся ошибки связанные с unix:/var/run/php5-fpm.sock то либо fpm не запущен, либо нет прав доступа. Быстрый фикс тут это сделать chmod на файл сокета, но это слетит после рестарта сервера или fpm. Поэтому надо поменять конфиг /etc/php5/fpm/pool.d/www.conf

Можно хоть 777 поставить. :)