Тестовый сервер Django вдруг не работает? - PullRequest
2 голосов
/ 26 июля 2011

Я разрабатывал веб-приложение с использованием веб-фреймворка Django.Я давно настроил псевдоним, чтобы при вводе go-d в командной строке (на сервере Ubuntu Linux) он запускал команду ./manage.py runserver 123.456.789.132:2222/ (здесь вся ложная информация).Это работало нормально последние 6 месяцев, я не знаю.

Сегодня вечером произошло нечто странное.Я работал далеко (удаленно с Putty), и внезапно мое соединение было разорвано.Я проверил файлы журнала на сервере, и похоже, что кто-то из другой страны пытается получить доступ к веб-серверу (я также запускаю активный веб-сайт с этого сервера).Видя, как доступы выглядят подозрительно, я решил заблокировать их строкой deny from в файле конфигурации apache2.

После блокировки их IP-адресов я попытался запустить тестовый сервер Django той же командой.Однако теперь я получаю ошибку Error: That port is already in use..

Когда я делаю netstat -antwup, он не показывает ни один установленный или прослушиваемый порт 2222 (который я интерпретирую как используемый порт 2222 , а не ).новая проблема port in use связана с недружелюбными посетителями моего сайта за городом?

Любая помощь?

[ПРАВКА - Обновление:] Хорошо, поэтому я попытался сделать руководство ./manage.py runserver 123.456.789.123:2244 (используя другой порт), которое работало.Затем я вернулся к исходному псевдониму go-d, который использует ОРИГИНАЛЬНЫЙ порт (2222), и он работает.Я полагаю, что могу сказать, что на мой вопрос дан ответ, но теперь мне любопытно, что произошло.Почему порт, который я обычно использую, вдруг уже используется?Тестовый сервер Django делает это когда-нибудь?

Есть мысли?

Спасибо!

Ответы [ 2 ]

4 голосов
/ 26 июля 2011

Это проблема, которая случалась со мной довольно часто.Если программа не закрыта должным образом, сокет mgiht все еще будет прослушивать порт.Например, когда цитируешь что-то с помощью Ctrl + C.Это остается в течение некоторого времени, и однажды порт снова освобождается.Просто измените порт, если это произойдет, это лучший способ сделать это для вас.

Есть способы обойти это, но вам нужно немного поиграть с django.прочитайте что-нибудь об этом один раз, если хотите, я мог бы посмотреть, найду ли я это снова.

Один из способов проверить это на чистом питоне:

0 голосов
/ 08 марта 2016

Просто во имя полноты, у меня тоже была такая же проблема пару раз, и это была проблема с подключением к базе данных, поэтому проверьте ваши настройки, но в этом случае это выдает мне ошибку через некоторое время ожидание запуска сервера.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...