首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >nginx php-fpm 502坏网关

nginx php-fpm 502坏网关
EN

Stack Overflow用户
提问于 2021-05-23 19:54:46
回答 1查看 819关注 0票数 1

我在运行Ubuntu server20.04的时候用的是连线邮件和2个网站,其中一个是WordPress。

我想安装Nextcloud,为此我必须重新安装php-fpm来生成php7.4-fpm.sock。在此之后,Nextcloud工作了,但我的其他网站停止工作的错误‘502Bad Gateway’。

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

我按照本文的说明安装了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文件:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#
# 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的文件权限

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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=

而且我认为它看起来还不错。

以下是日志文件:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-05-24 03:21:53

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

您可以在php-fpm配置中指定它,在Ubuntu中,配置在/etc/php/7.4/fpm/pool.d/www.conf中,并检查listen配置。

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
listen = /run/php/php7.4-fpm.sock

用于TCP套接字。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
listen = 127.0.0.1:9000

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;

如果您使用的是TCP套接字,则必须将nginx配置更改为从TCP套接字传递。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
fastcgi_pass 127.0.0.1:9000;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67663800

复制
相关文章
nginx 502
错误: nginx 转发报502错误。查看错误日志: [error] 5056#0: *180 connect() failed (113: No route to host) while connecting to upstream 百度了一下说是防火墙问题,果然,把要转发的服务器防火墙关闭就ok了
红目香薰
2022/11/28
7050
Nginx中的502和504
Nginx作为一个流行、轻量、高性能、稳定的web服务器,是应用运维日常最常接触的web服务器,更多的时候它是用于web代理服务,今天要说的是日常维护Nginx中最常遇到的两个HTTP状态码502和504
李俊鹏
2020/06/15
8.4K0
Nginx中的502和504
php-fpm报502问题「建议收藏」
搭建lnmp完lnmp环境后,测试时出现502报错,看到这个问题,我立刻想到是php-fpm没有起来,但是我用 ps -ef | grep php-fpm 截取 php-fpm 的进程,发现是有的,这时我有查看nginx的错误日志,发现错误信息是:
全栈程序员站长
2022/07/18
4550
php-fpm报502问题「建议收藏」
解决502 bad gateway的九种方案及原因
502 Bad Gateway 是一种HTTP协议的服务器端错误状态代码,它表示作为网关或代理角色的服务器,从上游服务器(如tomcat、php-fpm)中接收到的响应是无效的。
无刺鱼
2022/03/29
71.5K0
解决502 bad gateway的九种方案及原因
一边制造,一边讲解http状态码502|504|499|500
Status Code 499、500、502、504也是后端Http服务经常返回的状态码,试想一下,对于每个状态码,如果你能通过一些修改或配置来人为复现它,是不是会更利于你去掌握它呢?本文就是通过制造它们的方式来学习它们。
后端技术探索
2018/12/18
9.2K0
nginx的502问题
1.配置错误 因为nginx找不到php-fpm了或者socket文件权限不对,所以报错,一般是fastcgi_pass后面的路径配置不当,后面可以是socket或者是ip:port,从php5.4版本之后如果使用socket方式,默认权限给的比较低,所以需要把监听权限改为777,对应配置为 listen.mode=0777 2.资源耗尽 lnmp架构在处理php时,nginx直接调取后端的php-fpm服务,如果nginx的请求量偏高,我们又没有给php-fpm配置足够的子进程,那么php-fpm就会
老七Linux
2018/05/31
1.4K0
501:502:503:504都是什么原因
一:500错误 1、500 Internal Server Error 内部服务错误:顾名思义500错误一般是服务器遇到意外情况,而无法完成请求。
Java帮帮
2018/12/26
5.8K0
[HTTP] http中的502 , 504 , 499 500都是啥
经常我们会遇到502错误 , 502错误究竟是啥呢 , 在字面意思是指bad gateway 网关错误 , 网关是啥
唯一Chat
2020/03/24
1.7K0
nginx 自定义 502 页面
server conf 配置 server { listen 80; listen 443; server_name www.xieboke.net xieboke.net; charset utf-8; client_max_body_size 50m; ssl on; ssl_certificate /root/yzq/djangos/blog/cert
卓越笔记
2023/02/18
8720
nginx 自定义 502 页面
宝塔面板创建DVWA靶场,php-fpm报502问题
今天闲来无事,想着重新搭建DVWA靶场耍耍,遂在宝塔面板上尝试搭建DVWA靶场,搭建过程中,发现访问php页面访问报错502状态码,于是就把排查解决过程中记录了下来,供大家参考。
韦锡隆
2023/04/19
2.7K0
nginx 请求头过大导致502
我遇到这个问题是因为最近博客从solo迁移到bolo 在迁移完了之后点击链接比较深的时候,会报502错误,但是整个链接的响应速度比较快,于是就看了当时报错的请求参数,如下图所示:
zeekling
2022/06/17
1.8K0
nginx 请求头过大导致502
nginx之php-fpm优化
先来看一段日志(此日志来自于 var/log/php-fpm.log ): [13-Aug-2017 03:30:03] NOTICE: fpm is running, pid 28263 [13-Aug-2017 03:30:03] NOTICE: ready to handle connections [13-Aug-2017 10:11:04] WARNING: [pool www] seems busy (you may need to increase pm.start_servers, or p
老七Linux
2018/05/09
4.9K0
08 . Nginx状态码
HTTP状态码 本篇文章主要介绍运维过程中经常遇到的状态码,并通过业界流行的Nginx进行模拟实现。 2XX状态码 2XX类型状态码表示一个HTTP请求成功,最典型的就是200 # 200状态码 # 这个使我们最希望看到的状态码,表示一个HTTP请求得到了正确的响应,在此不做模拟测试 3XX状态码 # 3XX 类型状态码主要表示HTTP请求URL重定向行为,最常见的3XX状态码有301,302,304 301 测试用例 # URL: 永久性重定向,在Nginx中通过rewrite指令结合per
iginkgo18
2020/09/27
1.2K0
解Bug之路-Nginx 502 Bad Gateway
事实证明,读过Linux内核源码确实有很大的好处,尤其在处理问题的时刻。当你看到报错的那一瞬间,就能把现象/原因/以及解决方案一股脑的在脑中闪现。甚至一些边边角角的现象都能很快的反应过来是为何。笔者读过一些Linux TCP协议栈的源码,就在解决下面这个问题的时候有一种非常流畅的感觉。
呆呆
2021/05/20
2.3K0
前端报502 bad gateway的原因及解决方案
502 Bad Gateway服务器作为网关或者代理时,为了完成请求访问下一个服务器,但该服务器返回了非法的应答。 解决办法是:再刷新一下网页或清理一下电脑的缓冲文件在打开你想打开的网页就好了. 一般情况下,这种办法是行得通的,但也不排除你所访问的网页被屏蔽的可能,如果你所访问的网页被屏蔽的话,就不管你怎么刷新也是没用的了。
全栈程序员站长
2022/09/30
11.6K0
前端报502 bad gateway的原因及解决方案
解Bug之路-Nginx 502 Bad Gateway
事实证明,读过Linux内核源码确实有很大的好处,尤其在处理问题的时刻。当你看到报错的那一瞬间,就能把现象/原因/以及解决方案一股脑的在脑中闪现。甚至一些边边角角的现象都能很快的反应过来是为何。笔者读过一些Linux TCP协议栈的源码,就在解决下面这个问题的时候有一种非常流畅的感觉。
无毁的湖光-Al
2020/07/27
1.8K0
解Bug之路-Nginx 502 Bad Gateway
nginx + php-fpm 性能调优
对于PHP服务而言,nginx + php-fpm 是常用的服务配置,如何进行服务器性能调优是一个服务端开发的必备技能。
用户3147702
2022/06/27
1.4K0
12.15 Nginx解析php相关配置
Nginx解析php相关配置目录概要 配置如下: location ~ \.php$ { include fastcgi_params; fastcgi_pass unix:/tmp/php-fcgi.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /data/wwwroot/test.com$fastcgi_script_name; } fastcgi_
运维小白
2018/02/06
2K0
nginx,php-fpm配置部分小结
一、有了方向才不会一次又一次的抓狂 路径解析: 1.1 /usr/local/nginx 目录下: /usr/local/src //下载目录 /usr/local/nginx/conf/nginx.conf //nginx主配置文件 /usr/local/nginx/conf/vhost/ //虚拟主机配置目录 /usr/local/nginx/conf/htpasswd //配置密钥 /usr/local/nginx/logs/ //ng
老七Linux
2018/05/09
1.2K0
详解 Nginx 和 php-fpm 调用方式
PHP 项目使用 Nginx 时,一般通过 php-fpm Nginx+PHP-FPM 形式访问交互,本文将详细解读 Nginx 配置文件、PHP-FPM、PHP-CGI 和 fastCGI 的概念。
Yangsh888
2022/03/28
2.6K0

相似问题

Nginx + PHP-FPM 502坏网关

666

502坏网关Nginx

10

Nginx: 502坏网关

11

NGINX 502坏网关

20

502坏网关- Nginx

14
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文