“Conexão em uso” executando o Gunicorn usando o VirtualEnv

1

Estou tentando configurar um ambiente de desenvolvimento usando Gunicorn e NGINX.

Enquanto segue este tutorial: link

Eu recebo o seguinte erro:

(WebApp)sl@cker:~/MyApps/WebApp$ gunicorn_django --bind=127.0.0.1:8001
2012-07-12 14:04:30 [5997] [INFO] Starting gunicorn 0.14.5
2012-07-12 14:04:30 [5997] [ERROR] Connection in use: ('127.0.0.1', 8001)
2012-07-12 14:04:30 [5997] [ERROR] Retrying in 1 second.
2012-07-12 14:04:31 [5997] [ERROR] Connection in use: ('127.0.0.1', 8001)
2012-07-12 14:04:31 [5997] [ERROR] Retrying in 1 second.
2012-07-12 14:04:32 [5997] [ERROR] Connection in use: ('127.0.0.1', 8001)
2012-07-12 14:04:32 [5997] [ERROR] Retrying in 1 second.
2012-07-12 14:04:33 [5997] [ERROR] Connection in use: ('127.0.0.1', 8001)
2012-07-12 14:04:33 [5997] [ERROR] Retrying in 1 second.
2012-07-12 14:04:34 [5997] [ERROR] Connection in use: ('127.0.0.1', 8001)
2012-07-12 14:04:34 [5997] [ERROR] Retrying in 1 second.
2012-07-12 14:04:35 [5997] [ERROR] Can't connect to ('127.0.0.1', 8001)

Meu arquivo webapp.sh é assim:

#!/bin/bash
set -e
LOGFILE=/home/sl/MyApps/WebApp/logs/webapp.log
LOGDIR=$(dirname $LOGFILE)
NUM_WORKERS=3
# user/group to run as
USER=sl
GROUP=sl
ADDRESS=127.0.0.1:8001
cd /home/sl/MyApp/WebApp
source /home/sl/VirtualEnvs/WebApp/bin/activate
test -d $LOGDIR || mkdir -p $LOGDIR
exec gunicorn_django -w $NUM_WORKERS --bind=$ADDRESS \
  --user=$USER --group=$GROUP --log-level=debug \
  --log-file=$LOGFILE 2>>$LOGFILE

Ao navegar para http://127.0.0.1:8001/ , o "It worked! Congratulations on your first Django-powered page." é exibido corretamente.

Posso deixar isso assim e continuar o tutorial ou fiz algo errado aqui?

    
por Wouter Dorgelo 12.07.2012 / 14:12

2 respostas

2

Eu sei que essa é uma pergunta antiga, mas acho que tenho uma resposta alternativa para isso.

Eu estava passando pelo mesmo problema. O log mostraria gunicorn tentando iniciar e, em seguida, muitas entradas mostrando a porta já está em uso.

Eu percebi que tinha entrado no virtualenv ANTES de executar meu script. Que então ativou o virtualenv novamente. Isso parece rodar o script duas vezes no trote. Assim que eu desativei meu console virtualenv e deixei o script manipular o virtualenv, tudo funcionou como esperado.

Espero que isso ajude alguém.

    
por 27.01.2014 / 16:54
0

Parece que você está executando o servidor de depuração manage.py runserver e, em seguida, tentando iniciar o gunicorn, que tentará usar a mesma porta.

    
por 10.01.2013 / 04:50