Я пытаюсь настроить среду разработки с использованием Gunicorn и NGINX.
Следуя этому руководству: http://ijcdigital.com/blog/django-gunicorn-and-nginx-setup/
Я получаю следующую ошибку:
(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)
Мой webapp.sh
файл выглядит так:
#!/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
При просмотре http://127.0.0.1:8001/
, то "It worked!
Congratulations on your first Django-powered page."
отображается правильно.
Могу я просто оставить это так и продолжить обучение, или я здесь что-то не так сделал?
Я знаю, что это старый вопрос, но я думаю, что у меня есть альтернативный ответ.
У меня была такая же проблема. В журнале будет отображаться попытка запуска Gunicorn, а затем множество записей, показывающих, что порт уже используется.
Я понял, что вошел в virtualenv ДО запуска моего скрипта. Который затем снова активировал virtualenv. Кажется, это запускает скрипт дважды на ходу. Как только я деактивировал свою консоль virtualenv и позволил скрипту обрабатывать виртуальную среду самостоятельно, все заработало, как ожидалось.
Надеюсь, это поможет кому-то другому.
Похоже, вы запускаете сервер отладки manage.py runserver
а затем попытаться запустить Gunicorn, который попытается использовать тот же порт.