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

相关文章

idea maven编译报错Java heap space的解决方法

《ideamaven编译报错Javaheapspace的解决方法》这篇文章主要为大家详细介绍了ideamaven编译报错Javaheapspace的相关解决方法,文中的示例代码讲解详细,感兴趣的... 目录1.增加 Maven 编译的堆内存2. 增加 IntelliJ IDEA 的堆内存3. 优化 Mave

如何解决mmcv无法安装或安装之后报错问题

《如何解决mmcv无法安装或安装之后报错问题》:本文主要介绍如何解决mmcv无法安装或安装之后报错问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录mmcv无法安装或安装之后报错问题1.当我们运行YOwww.chinasem.cnLO时遇到2.找到下图所示这里3.

浅谈配置MMCV环境,解决报错,版本不匹配问题

《浅谈配置MMCV环境,解决报错,版本不匹配问题》:本文主要介绍浅谈配置MMCV环境,解决报错,版本不匹配问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录配置MMCV环境,解决报错,版本不匹配错误示例正确示例总结配置MMCV环境,解决报错,版本不匹配在col

Nginx中配置HTTP/2协议的详细指南

《Nginx中配置HTTP/2协议的详细指南》HTTP/2是HTTP协议的下一代版本,旨在提高性能、减少延迟并优化现代网络环境中的通信效率,本文将为大家介绍Nginx配置HTTP/2协议想详细步骤,需... 目录一、HTTP/2 协议概述1.HTTP/22. HTTP/2 的核心特性3. HTTP/2 的优

详解nginx 中location和 proxy_pass的匹配规则

《详解nginx中location和proxy_pass的匹配规则》location是Nginx中用来匹配客户端请求URI的指令,决定如何处理特定路径的请求,它定义了请求的路由规则,后续的配置(如... 目录location 的作用语法示例:location /www.chinasem.cntestproxy

Ubuntu中远程连接Mysql数据库的详细图文教程

《Ubuntu中远程连接Mysql数据库的详细图文教程》Ubuntu是一个以桌面应用为主的Linux发行版操作系统,这篇文章主要为大家详细介绍了Ubuntu中远程连接Mysql数据库的详细图文教程,有... 目录1、版本2、检查有没有mysql2.1 查询是否安装了Mysql包2.2 查看Mysql版本2.

新特性抢先看! Ubuntu 25.04 Beta 发布:Linux 6.14 内核

《新特性抢先看!Ubuntu25.04Beta发布:Linux6.14内核》Canonical公司近日发布了Ubuntu25.04Beta版,这一版本被赋予了一个活泼的代号——“Plu... Canonical 昨日(3 月 27 日)放出了 Beta 版 Ubuntu 25.04 系统镜像,代号“Pluc

SpringBoot启动报错的11个高频问题排查与解决终极指南

《SpringBoot启动报错的11个高频问题排查与解决终极指南》这篇文章主要为大家详细介绍了SpringBoot启动报错的11个高频问题的排查与解决,文中的示例代码讲解详细,感兴趣的小伙伴可以了解一... 目录1. 依赖冲突:NoSuchMethodError 的终极解法2. Bean注入失败:No qu

springboot报错Invalid bound statement (not found)的解决

《springboot报错Invalidboundstatement(notfound)的解决》本文主要介绍了springboot报错Invalidboundstatement(not... 目录一. 问题描述二.解决问题三. 添加配置项 四.其他的解决方案4.1 Mapper 接口与 XML 文件不匹配

如何自定义Nginx JSON日志格式配置

《如何自定义NginxJSON日志格式配置》Nginx作为最流行的Web服务器之一,其灵活的日志配置能力允许我们根据需求定制日志格式,本文将详细介绍如何配置Nginx以JSON格式记录访问日志,这种... 目录前言为什么选择jsON格式日志?配置步骤详解1. 安装Nginx服务2. 自定义JSON日志格式各