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

nginx php fpm 502坏网关

尉迟越
2023-03-14

我用Ired邮件和两个网站成功地运行了Ubuntu服务器20.04,其中一个是WordPress。

我想安装Nextcloud,为此我必须重新安装php fpm以生成php7。4-fpm。短袜在这之后,Nextcloud工作了,但是我的其他网站停止了工作,出现了错误“502坏网关”。

所以至少可以说,我很困惑!

我根据本文安装了Nextcloud并设置了启用的站点。符合说明的conf文件:https://www.linuxbabe.com/ubuntu/install-nextcloud-ubuntu-20-04-nginx-lemp-stack/amp

我想我明白了,. conf文件过去监听127.0.0.1: XXXX,现在监听php7.4-fpm.sock?

这是你的电话号码。重新安装php fpm后,我为网站准备的conf文件:

#
# Note: This file must be loaded before other virtual host config files,
#
# HTTPS
server {
    listen 443 ssl http2;
    listen [::]:443 ssl http2;
    server_name SOMEWEBSITE www.SOMEWEBSITE;

    error_log /var/log/nginx/localhost.error_log info;

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

    include /etc/nginx/templates/misc.tmpl;
    include /etc/nginx/templates/ssl.tmpl;
    include /etc/nginx/templates/iredadmin.tmpl;
    include /etc/nginx/templates/roundcube.tmpl;
    include /etc/nginx/templates/sogo.tmpl;
    include /etc/nginx/templates/netdata.tmpl;
    include /etc/nginx/templates/php-catchall.tmpl;
    include /etc/nginx/templates/stub_status.tmpl;
        
    location / {
        try_files $uri $uri/ /index.php?q=$uri$args;
    }
        
    # PHP handling
    location ~ \.php$ {
        try_files $uri =404;
        fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }

    ssl_certificate /etc/letsencrypt/live/SOMEWEBSITE/fullchain.pem; # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/SOMEWEBSITE/privkey.pem; # managed by Certbot

}
# Redirect http to https
server {
    listen 80;
    listen [::]:80;
    server_name SOMEWEBSITE www.SOMEWEBSITE;

    return 301 https://$host$request_uri;
}

我已经检查了php7.4-fpm.sock文件权限

ll /var/run/php/ | grep php

-rw-r--r--  1 root     root        3 May 22 21:13 php7.4-fpm.pid
srw-rw----  1 www-data www-data    0 May 22 21:13 php7.4-fpm.sock=
lrwxrwxrwx  1 root     root       30 May 22 21:13 php-fpm.sock -> /etc/alternatives/php-fpm.sock=

我觉得它看起来还可以。

以下是日志文件:

2021/05/23 20:32:52 [error] 43596#43596: *305 connect() failed (111: Connection refused) while connecting to upstream, client: xx.xx.xxx.xxx, server: SOMEWEBSITE, request: "GET / HTTP/1.1", upstream: "fastcgi://127.0.0.1:9999", host: "SOMEWEBSITE"
2021/05/23 20:32:53 [info] 43596#43596: *305 client xx.xx.xxx.xxx closed keepalive connection

有什么想法吗?需要更多的信息吗?提前感谢您的关注。

共有1个答案

米夕
2023-03-14

PHP-FPM可以使用两种方法来接受fastcgi请求。使用TCP套接字或Unix套接字。

您可以在php fpm配置中单独指定它,在Ubuntu中,该配置位于/etc/php/7.4/fpm/pool中。d/www.conf并检查侦听配置。

如果要使用unix套接字,请使用下面的配置。

listen = /run/php/php7.4-fpm.sock

对于TCP套接字。

listen = 127.0.0.1:9000

接下来,在nginx中,您可以根据fpm配置指定fastcgi\u pass。如果您使用Unix套接字,则您的所有网站(包括Nextcloud)都必须使用Unix套接字。

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

如果使用TCP Socket,则必须更改NextCloud的nginx配置以从TCP Socket传递。

fastcgi_pass 127.0.0.1:9000;
 类似资料:
  • 我的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

  • 我在裸机上安装了一个库伯内特斯集群(使用威睿虚拟机),节点如下 Metallb安装为集群的负载平衡器,calico安装为CNI 我还安装了带舵柄的nginx入口控制器 我部署了一个简单的nginx服务器进行测试 我使用负载均衡器类型的部署从metallb获得IP,工作正常,但当我添加入口时,尽管分配了IP,但我得到错误502坏网关,如下所示: 防火墙已启用,但所需端口已打开 我的服务和pods工作

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

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

  • 当我尝试运行我的Android应用程序时,我从Bintray获得502。我尝试过:清除缓存/重新启动更新我的gradle版本更新Exoplayer版本 仍然从Bintray那里得到错误。最好的问候。 错误截图 无法确定任务“:app:dataBindingMergeDependencyArtifactsDevDebug”的依赖项。 无法解决配置: app: devDebugRuntimeClass