为什么我无法启动我的枪角兽服务器? "Connection in use"



知道为什么我的gunicorn服务器不能启动吗?

jeffy@originaldjangster:~$ sudo /home/jeffy/django_files/django_test_venv/bin/gunicorn -c /home/jeffy/django_files/django_test_venv/gunicorn_config.py django_test.wsgi
 Connection in use: ('127.0.0.1', 8001)
 Retrying in 1 second.
 Connection in use: ('127.0.0.1', 8001)
 Retrying in 1 second.
 Connection in use: ('127.0.0.1', 8001)
 Retrying in 1 second.
 Connection in use: ('127.0.0.1', 8001)
 Retrying in 1 second.
 Connection in use: ('127.0.0.1', 8001)
 Retrying in 1 second.
 Can't connect to ('127.0.0.1', 8001)
jeffy@originaldjangster:~$

nginx监听http://104.131.200.120/,然后传递给gunicorn,后者监听127.0.0.1。我用的是Ubuntu 14。

我列出了所有进程,看看gunicorn是否已经在运行:

jeffy@originaldjangster:~$ ps -a
   PID TTY          TIME CMD
  7653 pts/1    00:00:00 ps
 jeffy@originaldjangster:~$ ps
   PID TTY          TIME CMD
  7249 pts/1    00:00:00 bash
  7654 pts/1    00:00:00 ps
 jeffy@originaldjangster:~$ ps -A
   PID TTY          TIME CMD
     1 ?        00:00:02 init
     2 ?        00:00:00 kthreadd
     3 ?        00:00:00 ksoftirqd/0
     5 ?        00:00:00 kworker/0:0H
     6 ?        00:00:00 kworker/u2:0
     7 ?        00:00:00 rcu_sched
     8 ?        00:00:00 rcu_bh
     9 ?        00:00:00 migration/0
    10 ?        00:00:00 watchdog/0
    11 ?        00:00:00 khelper
    12 ?        00:00:00 kdevtmpfs
    13 ?        00:00:00 netns
    14 ?        00:00:00 writeback
    15 ?        00:00:00 kintegrityd
    16 ?        00:00:00 bioset
    17 ?        00:00:00 kworker/u3:0
    18 ?        00:00:00 kblockd
    19 ?        00:00:00 ata_sff
    20 ?        00:00:00 khubd
    21 ?        00:00:00 md
    22 ?        00:00:00 devfreq_wq
    23 ?        00:00:08 kworker/0:1
    24 ?        00:00:00 khungtaskd
    25 ?        00:00:00 kswapd0
    26 ?        00:00:00 ksmd
    27 ?        00:00:00 fsnotify_mark
    28 ?        00:00:00 ecryptfs-kthrea
    29 ?        00:00:00 crypto
    41 ?        00:00:00 kthrotld
    44 ?        00:00:00 scsi_eh_0
    45 ?        00:00:00 scsi_eh_1
    66 ?        00:00:00 deferwq
    67 ?        00:00:00 charger_manager
   120 ?        00:00:01 jbd2/vda-8
   121 ?        00:00:00 ext4-rsv-conver
   271 ?        00:00:00 upstart-udev-br
   275 ?        00:00:00 systemd-udevd
   322 ?        00:00:00 dbus-daemon
   349 ?        00:00:00 kpsmoused
   351 ?        00:00:00 kworker/0:2
   356 ?        00:00:00 systemd-logind
   358 ?        00:00:00 rsyslogd
   387 ?        00:00:00 kvm-irqfd-clean
   624 ?        00:00:00 upstart-file-br
   704 ?        00:00:00 upstart-socket-
   758 tty4     00:00:00 getty
   761 tty5     00:00:00 getty
   767 tty2     00:00:00 getty
   768 tty3     00:00:00 getty
   770 tty6     00:00:00 getty
   794 ?        00:00:00 sshd
   800 ?        00:00:00 acpid
   802 ?        00:00:00 cron
   804 ?        00:00:00 atd
   853 ?        00:00:01 postgres
   855 ?        00:00:00 postgres
   856 ?        00:00:01 postgres
   857 ?        00:00:01 postgres
   858 ?        00:00:02 postgres
   859 ?        00:00:02 postgres
   903 ?        00:00:17 supervisord
   961 tty1     00:00:00 getty
   982 ?        00:00:00 kauditd
  1266 ?        00:00:07 kworker/u2:1
  3027 ?        00:00:00 kworker/u3:1
  3230 ?        00:00:00 sudo
  3231 ?        00:00:01 gunicorn
  7014 ?        00:00:00 gunicorn
  7115 ?        00:00:00 sshd
  7192 ?        00:00:00 sshd
  7193 ?        00:00:00 sftp-server
  7200 ?        00:00:00 sshd
  7248 ?        00:00:00 sshd
  7249 pts/1    00:00:00 bash
  7610 ?        00:00:00 nginx
  7613 ?        00:00:00 nginx
  7614 ?        00:00:00 nginx
  7615 ?        00:00:00 nginx
  7616 ?        00:00:00 nginx
  7649 ?        00:00:00 sshd
  7650 ?        00:00:00 sshd
 7655 pts/1    00:00:00 ps

下面是两行字符:

  3231 ?        00:00:01 gunicorn
  7014 ?        00:00:00 gunicorn

我曾试图杀死这两个进程,但是当使用fg 3231将它们带到前台时,例如,它显示"no such job"。

有人建议我试试netstat -aWn --programs | grep 80。这是我不明白的结果

jeffy@originaldjangster:~$ sudo netstat -aWn --programs | grep 80
 tcp        0      0 127.0.0.1:8001          0.0.0.0:*               LISTEN      3231/python3.4
 unix  2      [ ACC ]     STREAM     LISTENING     8911     800/acpid           /var/run/acpid.socket
 unix  2      [ ]         DGRAM                    8908     800/acpid

你知道是什么导致了这个"连接在使用中"错误吗?谢谢。

原来我只需要sudo kill 3231sudo kill 7014。我错误地认为他们首先需要被带到前台。直到我使用大写A选项(ps -A)才看到这些过程,这一事实误导了我,使我误以为它们是特殊的。

服务器正在运行(在前台)时,我比我妻子先睡觉。她睡觉前把电脑关掉了。

Ubuntu和gunicorn新手。你能看出来吗?

在本地开发环境中启动Gunicorn之前,我已经习惯了运行killall gunicorn

对于那些在端口上没有要杀死的东西的人来说,如果app.run()在gunicorn正在运行的文件中,那么它将在端口上运行两次并继续尝试重试连接。

在我的例子中,我正在运行$ gunicorn run:app,其中run.py有:from app import appapp.run(debug=True)

。当我注释掉app.run时,它工作了。

我找到解决办法了。

ps ax|grep gunicorn
>>> 932 pts/0    S      0:01 /home/someuser/flaskdir/.venv/bin/python3 /home/someuser/flaskdir/.venv/bin/gunicorn -w 3 flaskapp:app
kill -9 932

这对我有用:

sudo fuser -k 8000/tcp

重新启动电脑对我有帮助

  • 我在ps -A列表中没有gunicorn,所以我不知道kill
  • 我也没有得到任何明显的netstat -aWn --programs | grep 80

我也遇到过同样的问题…不要尝试从su运行gunicorn。请更改用户并重试

相关内容

最新更新