Django Gunicorn上突然出现502条消息

Django Gunicorn上突然出现502条消息,django,nginx,gunicorn,Django,Nginx,Gunicorn,我的服务器已经工作了18个月了。我的设置是Ubuntu服务器上的Nginx、Gunicorn、Django。为了充分披露,我将分享下一条信息。我的一个硬盘死在同一台服务器上。我指的不是包含任何数据的硬盘,但是这个硬盘最终得到了一个新的uuid。我觉得有必要分享这些信息,因为这是我开始遇到麻烦的时候。可能是巧合,可能有关联,我不知道。这是上周五,从那以后我一直在努力 我得到一个502错误。当我向下钻一点时,会显示为Gunicorn错误。我将在下面附上我能想到的关于我的设置的所有信息。但让我感到困惑

我的服务器已经工作了18个月了。我的设置是Ubuntu服务器上的Nginx、Gunicorn、Django。为了充分披露,我将分享下一条信息。我的一个硬盘死在同一台服务器上。我指的不是包含任何数据的硬盘,但是这个硬盘最终得到了一个新的uuid。我觉得有必要分享这些信息,因为这是我开始遇到麻烦的时候。可能是巧合,可能有关联,我不知道。这是上周五,从那以后我一直在努力

我得到一个502错误。当我向下钻一点时,会显示为Gunicorn错误。我将在下面附上我能想到的关于我的设置的所有信息。但让我感到困惑的是,我可以从命令行启动Gunicorn,但不能从计算机启动

这在命令行中起作用,它告诉我我有正确的东西:

sudo service gunicorn stop

sudo /media/Storage/sales_portal/venv/bin/gunicorn --chdir=/media/Storage/sales_portal --timeout 600 --access-logfile /var/log/gunicorn/access.log --error-logfile /var/log/gunicorn/error.log --log-level debug --workers 3 --bind unix:/run/gunicorn.sock sales_portal.wsgi:application
我的gunicorn.service文件是:

    [Unit]
    Description=gunicorn daemon
    Requires=gunicorn.socket
    After=network.target

    [Service]
    # Type=notify
    # the specific user that our service will run as
    User=administrator
    Group=administrator
    # another option for an even more restricted service is
    # DynamicUser=yes
    # see http://0pointer.net/blog/dynamic-users-with-systemd.html
    # RuntimeDirectory=gunicorn
    WorkingDirectory=/media/Storage/sales_portal
    ExecStart=/media/Storage/sales_portal/venv/bin/gunicorn --chdir=/media/Storage/sales_portal --timeout 600 --access-logfile /var/log/gunicorn/gunicorn.log --error-logfile /var/log/gunicorn/error.log --workers 3 --bind unix:/run/gunicorn.sock sales_portal.wsgi:application
    # ExecReload=/bin/kill -s HUP $MAINPID
    # KillMode=mixed
    # TimeoutStopSec=5
    # PrivateTmp=true

    [Install]
    WantedBy=multi-user.target
我的gunicorn.socket信息是:

    [Unit]
    Description=gunicorn socket

    [Socket]
    ListenStream=/run/gunicorn.sock
    # Our service won't need permissions for the socket, since it
    # inherits the file descriptor by socket activation
    # only the nginx daemon will need access to the socket
    # SocketUser=www-data
    # Optionally restrict the socket permissions even more.
    # SocketMode=600

    [Install]
    WantedBy=sockets.target
尝试

    sudo service gunicorn start
给我

    A dependency job for gunicorn.service failed. See 'journalctl -xe' for details.
此(或其一部分)的输出为:

这给我的错误日志是

[2020-11-20 08:23:30 -0600] [167639] [DEBUG] Current configuration:
  config: None
  bind: ['unix:/run/gunicorn.sock']
  backlog: 2048
  workers: 3
  worker_class: sync
  threads: 1
  worker_connections: 1000
  max_requests: 0
  max_requests_jitter: 0
  timeout: 600
  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
  preload_app: False
  sendfile: None
  reuse_port: False
  chdir: /media/Storage/sales_portal
  daemon: False
  raw_env: []
  pidfile: None
  worker_tmp_dir: None
  user: 0
  group: 0
  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: /var/log/gunicorn/access.log
  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: /var/log/gunicorn/error.log
  loglevel: debug
  capture_output: False
  logger_class: gunicorn.glogging.Logger
  logconfig: None
  logconfig_dict: {}
  syslog_addr: udp://localhost:514
  syslog: False
  syslog_prefix: None
  syslog_facility: user
  enable_stdio_inheritance: False
  statsd_host: None
  dogstatsd_tags: 
  statsd_prefix: 
  proc_name: None
  default_proc_name: sales_portal.wsgi:application
  pythonpath: None
  paste: None
  on_starting: <function OnStarting.on_starting at 0x7fd62efa18b0>
  on_reload: <function OnReload.on_reload at 0x7fd62efa19d0>
  when_ready: <function WhenReady.when_ready at 0x7fd62efa1af0>
  pre_fork: <function Prefork.pre_fork at 0x7fd62efa1c10>
  post_fork: <function Postfork.post_fork at 0x7fd62efa1d30>
  post_worker_init: <function PostWorkerInit.post_worker_init at 0x7fd62efa1e50>
  worker_int: <function WorkerInt.worker_int at 0x7fd62efa1f70>
  worker_abort: <function WorkerAbort.worker_abort at 0x7fd62efb20d0>
  pre_exec: <function PreExec.pre_exec at 0x7fd62efb21f0>
  pre_request: <function PreRequest.pre_request at 0x7fd62efb2310>
  post_request: <function PostRequest.post_request at 0x7fd62efb23a0>
  child_exit: <function ChildExit.child_exit at 0x7fd62efb24c0>
  worker_exit: <function WorkerExit.worker_exit at 0x7fd62efb25e0>
  nworkers_changed: <function NumWorkersChanged.nworkers_changed at 0x7fd62efb2700>
  on_exit: <function OnExit.on_exit at 0x7fd62efb2820>
  proxy_protocol: False
  proxy_allow_ips: ['127.0.0.1']
  keyfile: None
  certfile: None
  ssl_version: 2
  cert_reqs: 0
  ca_certs: None
  suppress_ragged_eofs: True
  do_handshake_on_connect: False
  ciphers: None
  raw_paste_global_conf: []
  strip_header_spaces: False
[2020-11-20 08:23:30 -0600] [167639] [INFO] Starting gunicorn 20.0.4
[2020-11-20 08:23:30 -0600] [167639] [DEBUG] Arbiter booted
[2020-11-20 08:23:30 -0600] [167639] [INFO] Listening at: unix:/run/gunicorn.sock (167639)
[2020-11-20 08:23:30 -0600] [167639] [INFO] Using worker: sync
[2020-11-20 08:23:30 -0600] [167641] [INFO] Booting worker with pid: 167641
[2020-11-20 08:23:30 -0600] [167642] [INFO] Booting worker with pid: 167642
[2020-11-20 08:23:30 -0600] [167643] [INFO] Booting worker with pid: 167643
[2020-11-20 08:23:30 -0600] [167639] [DEBUG] 3 workers
[2020-11-20 14:23:38 +0000] [167643] [DEBUG] GET /opportunities/products/
[2020-11-20 08:23:30-0600][167639][DEBUG]当前配置:
配置:无
绑定:['unix:/run/gunicorn.sock']
积压:2048
工人:3人
辅助类:同步
线程:1
工人人数:1000
最大请求数:0
最大请求抖动:0
超时:600
超时时间:30
保持活力:2
限制请求行:4094
限制请求字段:100
限制请求字段大小:8190
重新加载:False
重新加载引擎:自动
重新加载额外文件:[]
喷:错
检查配置:False
预加载应用程序:False
发送文件:无
重用端口:False
chdir:/media/Storage/sales\u门户
守护进程:False
原始环境:[]
pidfile:无
工人\u tmp\u主管:无
用户:0
组别:0
乌马斯克:0
初始化组:False
tmp_上传_目录:无
安全方案标题:{'X-FORWARDED-PROTOCOL':'ssl','X-FORWARDED-PROTO':'https','X-FORWARDED-ssl':'on'}
转发的允许IP:['127.0.0.1']
accesslog:/var/log/gunicorn/access.log
禁用\u重定向\u访问\u到\u系统日志:False
访问日志格式:%(h)s%(l)s%(u)s%(t)s“%(r)s”%(s)s%(b)s“%(f)s”%(a)s”
errorlog:/var/log/gunicorn/error.log
日志级别:调试
捕获输出:False
记录器_类:gunicorn.glogg.logger
logconfig:None
logconfig_dict:{}
系统日志地址:udp://localhost:514
syslog:False
syslog\u前缀:无
syslog_设备:用户
启用_stdio_继承:False
statsd_主机:无
dogstatsd_标签:
statsd_前缀:
程序名称:无
默认\u proc\u名称:sales\u portal.wsgi:application
蟒蛇:没有
粘贴:无
启动时:
重新加载时:
准备好后:
预制叉:
邮政叉子:
后期工作人员初始化:
劳工处:
工人中止:
预执行:
预请求:
后请求:
儿童出口:
工人出口:
nworkers_已更改:
退出时:
代理协议:False
代理允许IP:['127.0.0.1']
密钥文件:无
证书文件:无
ssl_版本:2
证书要求:0
证书:无
抑制不规则的EOF:正确
连接时是否握手:错误
密码:无
原始粘贴全局配置:[]
条带标题空格:False
[2020-11-20 08:23:30-0600][167639][INFO]从gunicorn 20.0.4开始
[2020-11-20 08:23:30-0600][167639][DEBUG]仲裁程序启动
[2020-11-20 08:23:30-0600][167639][INFO]收听地址:unix:/run/gunicorn.sock(167639)
[2020-11-20 08:23:30-0600][167639][INFO]使用辅助程序:同步
[2020-11-20 08:23:30-0600][167641][INFO]正在启动pid为的工作进程:167641
[2020-11-20 08:23:30-0600][167642][INFO]带pid的引导工作程序:167642
[2020-11-20 08:23:30-0600][167643][INFO]正在启动pid为的工作进程:167643
[2020-11-20 08:23:30-0600][167639][DEBUG]3名工人
[2020-11-20 14:23:38+0000][167643][DEBUG]GET/opportunities/products/
这就是我能想到的所有信息。如果你认为还有什么能帮上忙的,就告诉我。只是重申一下,这个精确的设置一直工作到上周五。据我所知,上周五我没有改变任何东西使它停止工作。我在fstab文件中为一个不相关的硬盘更改了一个uuid,在我看来,这不应该导致这种行为。感谢您的帮助。希望我忽略了一些简单的事情

谢谢,
Jonathan

请确保nginx运行时没有问题吗?尝试
sudonginx-t
测试配置。下面是该命令的输出
nginx:configuration file/etc/nginx/nginx.conf语法正常
nginx:configuration file/etc/nginx/nginx.conf测试成功
看看这篇文章,它可能会帮助你@cizario我在设置中没有看到任何东西。我从2012年开始运行这个服务器。我有一种感觉,也许是时候重新开始了。在这一过程中,可能有什么东西被破坏了。另一方面,8年没有任何重大问题是一个相当坚实的胜利。请确保,nginx运行时没有问题吗?尝试
sudonginx-t
测试配置。下面是该命令的输出
nginx:configuration file/etc/nginx/nginx.conf语法正常
nginx:configuration file/etc/nginx/nginx.conf测试成功
看看这篇文章,它可能会帮助你@cizario我在设置中没有看到任何东西。我从2012年开始运行这个服务器。我有一种感觉,也许是时候重新开始了。在这一过程中,可能有什么东西被破坏了。另一方面,8年没有任何重大问题是一个相当坚实的胜利。
[2020-11-20 08:23:30 -0600] [167639] [DEBUG] Current configuration:
  config: None
  bind: ['unix:/run/gunicorn.sock']
  backlog: 2048
  workers: 3
  worker_class: sync
  threads: 1
  worker_connections: 1000
  max_requests: 0
  max_requests_jitter: 0
  timeout: 600
  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
  preload_app: False
  sendfile: None
  reuse_port: False
  chdir: /media/Storage/sales_portal
  daemon: False
  raw_env: []
  pidfile: None
  worker_tmp_dir: None
  user: 0
  group: 0
  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: /var/log/gunicorn/access.log
  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: /var/log/gunicorn/error.log
  loglevel: debug
  capture_output: False
  logger_class: gunicorn.glogging.Logger
  logconfig: None
  logconfig_dict: {}
  syslog_addr: udp://localhost:514
  syslog: False
  syslog_prefix: None
  syslog_facility: user
  enable_stdio_inheritance: False
  statsd_host: None
  dogstatsd_tags: 
  statsd_prefix: 
  proc_name: None
  default_proc_name: sales_portal.wsgi:application
  pythonpath: None
  paste: None
  on_starting: <function OnStarting.on_starting at 0x7fd62efa18b0>
  on_reload: <function OnReload.on_reload at 0x7fd62efa19d0>
  when_ready: <function WhenReady.when_ready at 0x7fd62efa1af0>
  pre_fork: <function Prefork.pre_fork at 0x7fd62efa1c10>
  post_fork: <function Postfork.post_fork at 0x7fd62efa1d30>
  post_worker_init: <function PostWorkerInit.post_worker_init at 0x7fd62efa1e50>
  worker_int: <function WorkerInt.worker_int at 0x7fd62efa1f70>
  worker_abort: <function WorkerAbort.worker_abort at 0x7fd62efb20d0>
  pre_exec: <function PreExec.pre_exec at 0x7fd62efb21f0>
  pre_request: <function PreRequest.pre_request at 0x7fd62efb2310>
  post_request: <function PostRequest.post_request at 0x7fd62efb23a0>
  child_exit: <function ChildExit.child_exit at 0x7fd62efb24c0>
  worker_exit: <function WorkerExit.worker_exit at 0x7fd62efb25e0>
  nworkers_changed: <function NumWorkersChanged.nworkers_changed at 0x7fd62efb2700>
  on_exit: <function OnExit.on_exit at 0x7fd62efb2820>
  proxy_protocol: False
  proxy_allow_ips: ['127.0.0.1']
  keyfile: None
  certfile: None
  ssl_version: 2
  cert_reqs: 0
  ca_certs: None
  suppress_ragged_eofs: True
  do_handshake_on_connect: False
  ciphers: None
  raw_paste_global_conf: []
  strip_header_spaces: False
[2020-11-20 08:23:30 -0600] [167639] [INFO] Starting gunicorn 20.0.4
[2020-11-20 08:23:30 -0600] [167639] [DEBUG] Arbiter booted
[2020-11-20 08:23:30 -0600] [167639] [INFO] Listening at: unix:/run/gunicorn.sock (167639)
[2020-11-20 08:23:30 -0600] [167639] [INFO] Using worker: sync
[2020-11-20 08:23:30 -0600] [167641] [INFO] Booting worker with pid: 167641
[2020-11-20 08:23:30 -0600] [167642] [INFO] Booting worker with pid: 167642
[2020-11-20 08:23:30 -0600] [167643] [INFO] Booting worker with pid: 167643
[2020-11-20 08:23:30 -0600] [167639] [DEBUG] 3 workers
[2020-11-20 14:23:38 +0000] [167643] [DEBUG] GET /opportunities/products/