Nginx
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
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