Nginx报错合集(502 Bad Gateway,504 Gateway nginx/1.18.0 (Ubuntu) 等等报错)

2024-02-11 22:36

本文主要是介绍Nginx报错合集(502 Bad Gateway,504 Gateway nginx/1.18.0 (Ubuntu) 等等报错),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1.504 Gateway Time-outnginx/1.18.0 (Ubuntu)

日志报错:

2024/02/11 04:38:54 [error] 564#564: *29 
upstream timed out (110: Connection timed out) 
while reading response header from upstream, 
client: *******, 
server: *******, 
request: "GET /favicon.ico HTTP/1.1", 
upstream: "http://unix:/home/*******/myproject/app.sock/favicon.ico", 
host: "*******", 
referrer: "http://*******/"

应用服务器(通过 app.sock Unix 套接字)获取 /favicon.ico 时遇到了超时问题。

这通常表明请求没有被正确地路由到静态文件处理逻辑,而是被发送到了后端应用,

后端应用没有及时响应或无法处理该请求

解决方法:说明favicon.ico的位置

    location = /favicon.ico {alias /home/*****/myproject/static/favicon.ico;access_log off;log_not_found off;}

2.502 Bad Gateway   nginx/1.18.0 (Ubuntu):

日志报错:

2024/02/11 05:08:04 [crit] 12048#12048:*4 connect() to unix:/home/********/myproject/app.sock 
failed (2: No such file or directory) while connecting to upstream, 
client: ********, 
server: ********,
request: "GET / HTTP/1.1", 
upstream: "http://unix:/home/********/myproject/app.sock:/", 
host: "********"

这个错误表明 Nginx 无法通过 Unix 套接字 app.sock 连接到您的应用程序,因为它找不到指定的文件或目录。可能的原因包括:

  • 1.应用程序未运行:如果您的应用程序没有启动,那么 .sock 文件也不会存在。

  • 2.路径错误:配置中的路径不正确,或 .sock 文件被移动或删除。

  • 3.权限问题:Nginx 没有足够的权限访问 .sock 文件。

解决方法:

原因一:

查看gunicorn的状态:
sudo systemctl status myproject
如下状态(截取网上): 
gunicorn.service - gunicorn daemonLoaded: loaded (/etc/systemd/system/gunicorn.service; enabled; vendor preset: enabled)Active: active (running) since Thu 2018-01-18 23:32:11 UTC; 3min 23s agoProcess: 6347 ExecStop=/bin/kill -s TERM $MAINPID (code=exited, status=0/SUCCESS)Main PID: 6355 (gunicorn)Tasks: 2Memory: 195.7MCPU: 1.426sCGroup: /system.slice/gunicorn.service├─6355 /srv/venvs/myenv/bin/python3.6 /srv/venvs/myenv/bin/gunicorn --pid /run/gunicorn/pid --bind unix:/run/gunicorn/socket myapp.wsgi:application└─6360 /srv/venvs/myenv/bin/python3.6 /srv/venvs/myenv/bin/gunicorn --pid /run/gunicorn/pid --bind unix:/run/gunicorn/socket myapp.wsgi:applicationJan 18 23:32:11 python-server systemd[1]: Stopped gunicorn daemon.
Jan 18 23:32:11 python-server systemd[1]: Started gunicorn daemon.
Jan 18 23:32:11 python-server gunicorn[6355]: [2018-01-18 23:32:11 +0000] [6355] [INFO] Starting gunicorn 19.7.1
Jan 18 23:32:11 python-server gunicorn[6355]: [2018-01-18 23:32:11 +0000] [6355] [INFO] Listening at: unix:/run/gunicorn/socket (6355)
Jan 18 23:32:11 python-server gunicorn[6355]: [2018-01-18 23:32:11 +0000] [6355] [INFO] Using worker: sync
Jan 18 23:32:11 python-server gunicorn[6355]: [2018-01-18 23:32:11 +0000] [6360] [INFO] Booting worker with pid: 6360
 若出现任何error或者warning,请修复他之后运行以下命令
(重新加载gunicorn,并查看状态):
pkill gunicorn
sudo systemctl daemon-reload
sudo systemctl start myproject
sudo systemctl enable myproject
sudo systemctl status myproject

原因二:修改权限(前面为用户名,后面为路径)

sudo chown ******:www-data /home/****/*****/

这篇关于Nginx报错合集(502 Bad Gateway,504 Gateway nginx/1.18.0 (Ubuntu) 等等报错)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/700978

相关文章

Nginx安全防护的多种方法

《Nginx安全防护的多种方法》在生产环境中,需要隐藏Nginx的版本号,以避免泄漏Nginx的版本,使攻击者不能针对特定版本进行攻击,下面就来介绍一下Nginx安全防护的方法,感兴趣的可以了解一下... 目录核心安全配置1.编译安装 Nginx2.隐藏版本号3.限制危险请求方法4.请求限制(CC攻击防御)

nginx中端口无权限的问题解决

《nginx中端口无权限的问题解决》当Nginx日志报错bind()to80failed(13:Permissiondenied)时,这通常是由于权限不足导致Nginx无法绑定到80端口,下面就来... 目录一、问题原因分析二、解决方案1. 以 root 权限运行 Nginx(不推荐)2. 为 Nginx

解决1093 - You can‘t specify target table报错问题及原因分析

《解决1093-Youcan‘tspecifytargettable报错问题及原因分析》MySQL1093错误因UPDATE/DELETE语句的FROM子句直接引用目标表或嵌套子查询导致,... 目录报js错原因分析具体原因解决办法方法一:使用临时表方法二:使用JOIN方法三:使用EXISTS示例总结报错原

Ubuntu 24.04启用root图形登录的操作流程

《Ubuntu24.04启用root图形登录的操作流程》Ubuntu默认禁用root账户的图形与SSH登录,这是为了安全,但在某些场景你可能需要直接用root登录GNOME桌面,本文以Ubuntu2... 目录一、前言二、准备工作三、设置 root 密码四、启用图形界面 root 登录1. 修改 GDM 配

nginx 负载均衡配置及如何解决重复登录问题

《nginx负载均衡配置及如何解决重复登录问题》文章详解Nginx源码安装与Docker部署,介绍四层/七层代理区别及负载均衡策略,通过ip_hash解决重复登录问题,对nginx负载均衡配置及如何... 目录一:源码安装:1.配置编译参数2.编译3.编译安装 二,四层代理和七层代理区别1.二者混合使用举例

nginx -t、nginx -s stop 和 nginx -s reload 命令的详细解析(结合应用场景)

《nginx-t、nginx-sstop和nginx-sreload命令的详细解析(结合应用场景)》本文解析Nginx的-t、-sstop、-sreload命令,分别用于配置语法检... 以下是关于 nginx -t、nginx -s stop 和 nginx -s reload 命令的详细解析,结合实际应

如何在Ubuntu 24.04上部署Zabbix 7.0对服务器进行监控

《如何在Ubuntu24.04上部署Zabbix7.0对服务器进行监控》在Ubuntu24.04上部署Zabbix7.0监控阿里云ECS服务器,需配置MariaDB数据库、开放10050/1005... 目录软硬件信息部署步骤步骤 1:安装并配置mariadb步骤 2:安装Zabbix 7.0 Server

Ubuntu如何分配​​未使用的空间

《Ubuntu如何分配​​未使用的空间》Ubuntu磁盘空间不足,实际未分配空间8.2G因LVM卷组名称格式差异(双破折号误写)导致无法扩展,确认正确卷组名后,使用lvextend和resize2fs... 目录1:原因2:操作3:报错5:解决问题:确认卷组名称​6:再次操作7:验证扩展是否成功8:问题已解

前端如何通过nginx访问本地端口

《前端如何通过nginx访问本地端口》:本文主要介绍前端如何通过nginx访问本地端口的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、nginx安装1、下载(1)下载地址(2)系统选择(3)版本选择2、安装部署(1)解压(2)配置文件修改(3)启动(4)

Nginx 重写与重定向配置方法

《Nginx重写与重定向配置方法》Nginx重写与重定向区别:重写修改路径(客户端无感知),重定向跳转新URL(客户端感知),try_files检查文件/目录存在性,return301直接返回永久重... 目录一.try_files指令二.return指令三.rewrite指令区分重写与重定向重写: 请求