php - 服务器恢复后 502 Bad Gateway Nginx

标签 php ubuntu nginx fastcgi

所以我有一个 Ubuntu 服务器,我正试图从备份中恢复它。当出现虚拟 PHP 版本页面时,我得到 502 Bad Gateway。我尝试过什么来修复它?很多事情,包括这个相关问题的答案 - nginx 502 bad gateway

这是我在 Ubuntu 上的默认配置

server {
listen 80;
#   listen [::]:81 ipv6only=on default_server;

root /var/www/html;
index index.php index.html index.htm;

server_name localhost;

location ~* \.(js|css|png|jpg|jpeg|gif|ico|html)$ {
        expires max;
}


location / {
    try_files $uri $uri.php $uri.php/$args /index.php?q=$uri&$args $uri/ =404;
    index index.php index.html index.htm;
    rewrite ^(.*)$ /$1.php;
}

location /phpmyadmin {
  index index.php;
    try_files $uri $uri/ =404;
    auth_basic "Admin Login";
    auth_basic_user_file /etc/nginx/pma_pass;
}

error_page 404 /404.html;

error_page 500 502 503 504 /50x.html;
location = /50x.html {
    root /usr/share/nginx/html;
}

location ~ \.php$ {
    try_files $uri =404;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass unix:/var/run/php5-fpm.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
}


location ~ /\.ht {
    deny all;
}
}

编辑: 这是我认为是日志的相关部分

2017/08/11 13:18:13 [error] 27759#0: *270 connect() failed (111: Connection refused) while connecting to upstream, client: 66.61.18.112, server: domain.com, request: "GET /favicon.ico HTTP/1.1", upstream: "http://127.0.0.1:8080/favicon.ico", host: "[IP ADDRESS]", referrer: "http://[IP ADDRESS]/phpmyadmin/index.php"

编辑 2:

这是我运行 ps aux | 时的结果grep php-fpm:

mre      21685  0.0  0.0  11756   932 pts/0    S+   10:42   0:00 grep --color=auto php-fpm
root     32721  0.0  1.0 269300 11168 ?        Ss   Aug11   0:30 php-fpm: master process (/etc/php5/fpm/php-fpm.conf)                    
www-data 32724  0.0  0.4 269300  4540 ?        S    Aug11   0:00 php-fpm: pool www                                                       
www-data 32725  0.0  0.4 269300  4540 ?        S    Aug11   0:00 php-fpm: pool www 

编辑 3:

这是我的 php-fpm.conf 中未注释的内容

[global]
; Pid file
; Note: the default prefix is /var
; Default Value: none
pid = /var/run/php5-fpm.pid

; Error log file
; If it's set to "syslog", log is sent to syslogd instead of being written
; in a local file.
; Note: the default prefix is /var
; Default Value: log/php-fpm.log
error_log = /var/log/php5-fpm.log


;;;;;;;;;;;;;;;;;;;;
; Pool Definitions ; 
;;;;;;;;;;;;;;;;;;;;

; To configure the pools it is recommended to have one .conf file per
; pool in the following directory:
include=/etc/php5/fpm/pool.d/*.conf

编辑 4:

这是我的 www.conf 中未注释的内容:

listen = 127.0.0.1:9000
listen.owner = www-data  
listen.group = www-data
listen.mode = 0660
pm = dynamic
pm.max_children = 5
pm.start_servers = 2
pm.min_spare_servers = 1
pm.max_spare_servers = 3
chdir = /

编辑 5:

我尝试访问 index.php 后的 nginx 日志:

[error] 29393#0: *23 connect() failed (111: Connection refused) while connecting to upstream, client: [Computer IP Address], server: [Subdomain.domain.com], request: "GET /favicon.ico HTTP/1.1", upstream:"http://127.0.0.1:8080/favicon.ico", host: [Server IP], referrer: "http://[Server IP]/index.php"

最佳答案

所以我检查了我的 nginx 配置并发现了这些行:

include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;

然后我去了 /etc/nginx/conf.d/*.conf 并看到在 servers.conf 文件中,有一个子配置我计划使用但不会再使用的域,所以我删除了它。这是问题的主要部分,因为 nginx 首先查看此配置,这就是错误包含此子域的原因。

至于 php 问题,我将我的配置切换为 fastcgi_pass unix:/run/php/php7.0-fpm.sock;,这似乎解决了问题。

关于php - 服务器恢复后 502 Bad Gateway Nginx,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45640770/

相关文章:

xml - 解析器错误 : String not started expecting ' or " in php

php - 首次使用 xampp 时出现 codeigniter 4 运行错误

PHP - 调用另一个类中的函数

linux - 如何修复损坏的/usr/bin/ld?

nginx - 如何在 nginx.conf 中指定一个目录来提供 index.html

html - 通过 301 永久重定向到 https 的 http url 嵌入资源

php - JQuery 颜色框和表单

python - pymssql 和 Adaptive Server 连接失败

python - 如何在本地安装 ipython notebook?

node.js - 使用 nginx 和 node.js 上传文件