Nginx

Ubuntu 14.04 -> 16.04 升級後,pypMyAdmin 在 nginx 上返回 502 錯誤

  • January 9, 2020

所以我剛剛將我的 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

引用自:https://serverfault.com/questions/998311