Ubuntu 14.04 -> 16.04 升级后,pypMyAdmin 在 nginx 上重新出现 502 错误

Ubuntu 14.04 -> 16.04 升级后,pypMyAdmin 在 nginx 上重新出现 502 错误

所以我刚刚将我的 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

在升级到 16.04 之前,PhpMyAdmin 运行良好,除了删除 mariadb-client 之外,除了自动过程之外没有发生其他事情。

有什么想法我应该去哪里寻找解决方案吗?提前感谢你的帮助!

答案1

更改 fastcgi 传递线路

fastcgi_pass unix:/var/run/php/php7.0-fpm.sock

答案2

因此,解决方案是,在 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;

相关内容