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 daemon
   Loaded: loaded (/etc/systemd/system/gunicorn.service; enabled; vendor preset: enabled)
   Active: active (running) since Thu 2018-01-18 23:32:11 UTC; 3min 23s ago
  Process: 6347 ExecStop=/bin/kill -s TERM $MAINPID (code=exited, status=0/SUCCESS)
 Main PID: 6355 (gunicorn)
    Tasks: 2
   Memory: 195.7M
      CPU: 1.426s
   CGroup: /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:application

Jan 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/****/*****/
相关推荐
2301_76415056几秒前
CSS如何为目标锚点设置高亮样式_使用-target伪类定位当前模块
jvm·数据库·python
qq_342295821 分钟前
HTML支持变量吗_与JavaScript数据绑定方式【解答】
jvm·数据库·python
j_xxx404_2 分钟前
深入理解Linux底层存储:从物理磁盘架构到文件系统(inode/Block)原理
linux·运维·服务器·后端
南棱笑笑生4 分钟前
Z:\K7\20260418给万象奥科的开发板HD-RK3576-PI适配瑞芯微原厂的Buildroot时通过WinScp传送文件【SSH模式】
运维·ssh·rockchip
hutengyi4 分钟前
四、nginx的优化和location匹配规则
运维·nginx
2301_813599556 分钟前
如何使用Python查询MongoDB并转为Pandas DataFrame_数据分析集成实战
jvm·数据库·python
21439656 分钟前
如何通过SSH隧道连接远程数据库_本地端口转发与phpMyAdmin
jvm·数据库·python
Chuer_7 分钟前
详解智能问数的增效逻辑,全方位拆解智能问数实战场景
大数据·数据库·甘特图
2401_883600258 分钟前
required属性如何触发验证_必填字段检查机制【方法】
jvm·数据库·python
嵌入式×边缘AI:打怪升级日志8 分钟前
深度剖析Linux按键驱动四种访问方式:从查询到异步通知
linux·运维·服务器