У меня был особенно устаревший дистрибутив ubuntu (12.10), и я начал процесс последовательного обновления до 16.04. Вчера я успешно обновился с 12.10->13.10->14.04, используя архив старых релизов Ubuntu и это руководство от Digital Ocean. Мне не пришлось менять ядро, потому что наш дроплет использовал grubloader v2.0.
Воодушевленный успехом обновления, я использовал do-release-upgrade для перехода с 14.04 на 16.04 и, хотя дистрибутив был успешно обновлен, я сразу же столкнулся с ошибками 502 (nginx /1.4.6) после обновления. Я новичок во всем этом, поэтому я выполнил обновление релиза с 14.04 на 16.04 точно так же, как и обновление 13.10->14.04.
Кто-нибудь сталкивался с этой проблемой при обновлении с 14.04->16.04? Кроме того, я восстановил свой дроплет обратно до 12.10 и обновился обратно до 14.04, и теперь у меня те же ошибки 502, несмотря на то, что обновление 14.04 ранее работало нормально.
Вот мои журналы ошибок за сегодня (ошибки 502 версии 14.04):
2018/03/22 10:01:08 [crit] 774#0: *58351 connect() to unix:/var/run/php5-fpm.sock failed (13: Permission denied) while connecting to upstream, client: 46.229.168.67, server: localhost, request: "GET /tag/love-me-some-cats/ HTTP/1.1", upstream: "fastcgi://unix:/var/run/php5-fpm.sock:", host: "wesleying.org"
Сталкивался ли кто-нибудь с подобной проблемой и/или знает быстрое решение для новичка?
решение1
Nginx подключает ваш PHP FPM через сокет unix. В зависимости от используемой версии, которая может отличаться от версии ОС к версии ОС, имя сокета или местоположение могут отличаться. Также иногда у вас нет сокета, у вас есть порт.
Посмотрите, как ваш PHP FPM предоставляет свои услуги
netstat -nlp | grep php
Результатом может быть порт или сокет Unix, или вы можете получить несколько результатов (например, разные для разных версий PHP).
Пример результата
unix 2 [ ACC ] STREAM HÖRT 34042019 19073/php-fpm.conf) /run/php/php5.6-fpm.sock
Обновите Nginx соответствующим образом.
fastcgi_pass unix:/run/php/php5.6-fpm.sock;
и перезагрузите ваш веб-сервер
service nginx reload