You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Nginx反向代理部署Django网站失败求助:站点无法访问

部署Django站点遇到的Nginx 502错误问题

已完成的配置

  • 开发服务器运行正常,访问xxx.xxx.xxx.xxx:8000可正常打开应用
  • Nginx已启动,访问founderslooking.com能看到默认页面
  • 已配置Supervisor和Nginx反向代理,Supervisor状态为运行,但站点无法正常显示

问题现象

  • Nginx配置中server_name设为api.founderslooking.com时无响应,改为founderslooking.com时出现502 Bad Gateway错误
  • Nginx错误日志提示找不到unix:/websapps/founders/founders_3_10_12/run/gunicorn.sock,但实际文件存在,且Gunicorn进程用户拥有该文件权限

相关配置文件

Nginx配置文件(/etc/nginx/sites-available/founders.conf)

upstream founders_app_server {
        server unix:/websapps/founders/founders_3_10_12/run/gunicorn.sock fail_timeout=0;
}

server {
        listen 80;
        server_name api.founderslooking.com;
        client_max_body_size 4G;
        location / {
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_set_header Host $http_host;
                proxy_redirect off;
                if (!-f $request_filename){
                        proxy_pass http://founders_app_server;
                }
        }
}

Supervisor配置文件(/etc/supervisor/conf.d/founders.conf)

[program:founders]

command = /webapps/founders/founders_3_10_12/bin/gunicorn_start
user = userfounders
stdout_logfile = /webapps/founders/founders_3_10_12/logs/supervisor.log
redirect_stderr = true
environment=LANG=en_US.UTF-8,LC_ALL=en_US.UTF-8

日志信息

Supervisor日志

Starting
[2023-10-10 09:10:56 +0000] [806] [DEBUG] Current configuration:
  config: ./gunicorn.conf.py
  wsgi_app: None
  bind: ['unix:/webapps/founders/founders_3_10_12/run/gunicorn.sock']
  backlog: 2048
  workers: 3
  worker_class: sync
  threads: 1
  worker_connections: 1000
  max_requests: 0
  max_requests_jitter: 0
  timeout: 30
  graceful_timeout: 30
  keepalive: 2
  limit_request_line: 4094
  limit_request_fields: 100
  limit_request_field_size: 8190
  reload: False
  reload_engine: auto
  reload_extra_files: []
  spew: False
  check_config: False
  print_config: False
  preload_app: False
  sendfile: None
  reuse_port: False
  chdir: /webapps/founders/founders_3_10_12/backend
  daemon: False
  raw_env: []
  pidfile: None
  worker_tmp_dir: None
  user: 998
  group: 999
  umask: 0
  initgroups: False
  tmp_upload_dir: None
  secure_scheme_headers: {'X-FORWARDED-PROTOCOL': 'ssl', 'X-FORWARDED-PROTO': 'https', 'X-FORWARDED-SSL': 'on'}
  forwarded_allow_ips: ['127.0.0.1']
  accesslog: None
  disable_redirect_access_to_syslog: False
  access_log_format: %(h)s %(l)s %(u)s %(t)s "%(r)s" %(s)s %(b)s "%(f)s" "%(a)s"
  errorlog: -
  loglevel: debug
  capture_output: False
  logger_class: gunicorn.glogging.Logger
  logconfig: None
  logconfig_dict: {}
  logconfig_json: None
  syslog_addr: udp://localhost:514
  syslog: False
  syslog_prefix: None
  syslog_facility: user
  enable_stdio_inheritance: False
  statsd_host: None
  dogstatsd_tags:
  statsd_prefix:
"supervisor.log" 222L, 8705B  

Nginx错误日志

2023/10/10 10:14:19 [crit] 689#689: *1 connect() to unix:/websapps/founders/founders_3_10_12/run/gunicorn.sock failed (2: No such file or directory) while connecting to upstream, client: 102.32.168.108, server: founderslooking.com, request: "GET / HTTP/1.1", upstream: "http://unix:/websapps/founders/founders_3_10_12/run/gunicorn.sock:/", host: "founderslooking.com"

文件存在验证

root@OhvcNSDb8D:/var/log/nginx# cd /webapps/founders/founders_3_10_12/run/
root@OhvcNSDb8D:/webapps/founders/founders_3_10_12/run# ls
gunicorn.sock
root@OhvcNSDb8D:/webapps/founders/founders_3_10_12/run# 

解决步骤

  1. 修正路径拼写错误
    Nginx配置里的sock路径写的是websapps,但实际路径是webapps(少了一个e)。修改Nginx配置文件中的路径为unix:/webapps/founders/founders_3_10_12/run/gunicorn.sock,保存后执行:

    sudo nginx -t  # 检查配置语法是否正确
    sudo systemctl restart nginx
    
  2. 确保Nginx有权限访问sock文件

    # 查看Nginx运行用户,通常为www-data
    ps aux | grep nginx | grep -v root
    # 给sock所在目录添加读取权限
    sudo chmod 755 /webapps/founders/founders_3_10_12/run/
    # 给sock文件添加读写权限
    sudo chmod 660 /webapps/founders/founders_3_10_12/run/gunicorn.sock
    # 将Nginx用户加入Gunicorn进程的用户组(日志中显示组ID为999)
    sudo usermod -aG 999 www-data
    
  3. 重启相关服务

    sudo supervisorctl restart founders
    sudo systemctl restart nginx
    

内容的提问来源于stack exchange,提问作者crawlingdev

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.09 02:36:03