Итак, я только что обновил свой VPS с 14.04 до 16.04, обновление прошло хорошо по большей части, но MySQL не обновился. Сначала мне нужно было вручную удалить mariadb-client, а затем я снова смог установить MySQL, и теперь все на моем веб-сайте работает нормально, за исключением phpMyAdmin. Всякий раз, когда я открываю страницу site.com/phpmyadmin, она отображает ошибку nginx 502, плохой шлюз.
Соответствующие части моего конфигурационного файла nginx выглядят так:
location ~ \.php$
{
fastcgi_index index.php;
fastcgi_keep_conn on;
include /etc/nginx/fastcgi_params;
fastcgi_pass unix:/var/run/php/php7.1-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
location /phpmyadmin
{
root /usr/share;
location ~ \.php$
{
include php.conf;
}
location ~* ^/phpmyadmin/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$
{
root /usr/share/;
}
}
Я поискал в сети, не сталкивался ли кто с подобными проблемами, но в большинстве случаев решение было неправильной настройкой php-fpm.
В моем случае все работает хорошо:
root@server:/etc/nginx/conf.d-enabled# service php7.1-fpm status
php7.1-fpm start/running, process 28542
root@server:/etc/nginx/conf.d-enabled# ls -l /var/run/php/php7.1-fpm.sock
srw-rw-rw- 1 www-data www-data 0 Jan 9 15:01 /var/run/php/php7.1-fpm.sock
PhpMyAdmin работал хорошо до обновления до 16.04, и кроме удаления mariadb-client ничего не происходило, кроме автоматического процесса.
Есть идеи, где мне копать, чтобы найти решение? Заранее благодарю за любую помощь!
Итак, решение заключалось в том, что в конфигурации nginx была ссылка «include php.conf;» проанализировал файл php.conf, который наверняка обновился во время процесса. Это действительно была проблема с php-fpm, поскольку она содержала «fastcgi_pass unix: /var/run/php/php5-fpm.sock» вместо «fastcgi_pass unix: /var/run/php/php7.1-fpm.sock» ":
connect() to unix:/var/run/php5-fpm.sock failed
После его изменения я получил следующую ошибку:
upstream sent too big header while reading response header from upstream, client
Добавление следующих строк устранило проблему, теперь я могу получить доступ к phpMyAdmin:
fastcgi_buffers 16 16k;
fastcgi_buffer_size 32k;
Измените строку прохода fastcgi
fastcgi_pass unix:/var/run/php/php7.0-fpm.sock