当前位置: 首页 > 知识库问答 >
问题:

Nginx在php5 fpm设置上抛出502坏网关

干鑫鹏
2023-03-14

这是我的设置细节

Nginx。形态

user  nginx;
worker_processes  8;

error_log  /var/log/nginx/error.log warn;
pid        /var/run/nginx.pid;


events {
    worker_connections  4096;
}


http {
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;

    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log  /var/log/nginx/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    keepalive_timeout  65;

    #gzip  on;


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

}

默认情况下,我的conf文件包含可用站点和已启用站点

server {
    server_name www.subdomain.mywebsite.com subdomain.mywebsite.com;
    access_log /srv/www/subdomain.mywebsite.com/logs/access.log;
    error_log /srv/www/subdomain.mywebsite.com/logs/error.log;
    root /srv/www/subdomain.mywebsite.com/public_html;

    location / {

        index index.html index.htm index.php;
    }


    location ~ \.php$ {
        include /etc/nginx/fastcgi_params;
        fastcgi_pass  127.0.0.1:9000;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_param SCRIPT_FILENAME /srv/www/subdomain.mywebsite.com/public_html$fastcgi_script_name;
    }
}

当我按我的域运行html文件时,它工作正常。

但如果我转到php文件,例如

subdomain.mywebsite.com/info.php

它给出了nginx的502坏网关错误

出现问题时,Php5 fpm正在运行

root@ubuntu:/etc/nginx/sites-available# service php5-fpm status
php5-fpm start/running, process 12196

共有1个答案

郎正初
2023-03-14

这就是典型响应的工作方式:向Nginx发送请求,Nginx代表客户端浏览器向PHP-FPM发送该请求;PHP-FPM使用其评估过的代码进行响应,然后将该响应发送回Nginx。在你的情况下,这仍然在发生。问题是PHP-FPM没有发送您想要的结果。您希望对代码进行评估,但它说它或多或少无法读取代码,因此它告诉Nginx它没有搞错,因此Nginx告诉客户端浏览器“网关”(上游服务器,即PHP-FPM)是一个傻瓜;也就是说,它向客户端浏览器发送502响应,因为它不能空手向老板显示。

这是什么意思?

毫不奇怪,这意味着权限是错误的。权限阻止了PHP-FPM的工作。找到PHP-FPM的www.conf文件,并调整listen。所有者倾听。分组收听。模式用户设置。另外,只需使用插座即可。这是在同一位置配置的。实际上,我刚才列出的权限设置只适用于套接字。然而,如果您想继续在侦听端口上运行Nginx,这仍然是一个权限问题。

您的日志很容易说明这一点。你真的调查过这个问题吗?搜索引擎可能会被与这些信息相关的结果淹没。

 类似资料:
  • 我的nginx.conf文件是这样的: 现在,在打开一些URL时,它抛出了502个坏网关,但对其他URL则没有。我犯的错误。日志为: 2019/01/10 23:53:39[错误]12139#12139:*5 recv()在从上游读取响应头时失败(104:由对等方重置连接),客户端:127.0。0.1,服务器:localhost,请求:“GET/wordpress/HTTP/2.0”,上游:fas

  • 502网关错误。错误日志和nginx配置如下。有什么问题吗? [错误]7660#0:*10 connect()在连接到上游时失败(111:连接被拒绝),客户端:40.83。126.181,服务器:127.0。0.1,请求:“GET/HTTP/1.1”,上游:fastcgi://127.0.0.1:9000,主持人:“www.mysite.com” nginx。形态: vhost/home.conf

  • 好的,我正在本地运行一个应用程序,homestead.app:8000。我正在运行流浪,这是在我“流浪停止”为Nginx更改文档根然后流浪后才开始发生的。 Nginx正在将502坏网关返回到浏览器,我的测试域的错误日志声明如下: 2014/05/18 21:37:11[crit] 1368#0:*7连接()到unix:/var/run/php5-fpm.sock失败(2:没有这样的文件或目录),同

  • 我用Ired邮件和两个网站成功地运行了Ubuntu服务器20.04,其中一个是WordPress。 我想安装Nextcloud,为此我必须重新安装php fpm以生成php7。4-fpm。短袜在这之后,Nextcloud工作了,但是我的其他网站停止了工作,出现了错误“502坏网关”。 所以至少可以说,我很困惑! 我根据本文安装了Nextcloud并设置了启用的站点。符合说明的conf文件:http

  • 我真的希望你们能帮我。我在设置ssl的不同指南中迷失了方向。 当我尝试访问我的站点时,我只得到了。普通的老nginx工作得很好,没有强制ssl的“简单”ssl也工作得很好。 这是我的配置文件。 default.conf letsencrypt.conf ssl。形态

  • null service-configuration-file.yml ingress-configuration-file.yml(基于主机的路由) 我遵循了以下步骤: 输出结果是: 不幸的是,当我试图在浏览器上访问Dash应用程序时,我从Nginx得到了一个502坏网关错误。你能帮帮我吗?因为我的Kubernetes知识有限。提前谢了。