Почему сервер разработки Django по умолчанию использует порт 8000?

(Мой вопрос не совсем о Django. Речь идет об альтернативных http-портах. Просто я знаю, что Django - это относительно известное приложение, которое использует 8000 по умолчанию, поэтому оно показательно.)

У меня есть дикий сервер, который нам иногда нужен для запуска нескольких служб httpd на разных портах. Когда мне понадобилось подключить третий сервис, и мы уже использовали порты 80 и 8080, я обнаружил, что наша команда безопасности заблокировала доступ к порту 8000 из Интернета. Я понимаю, что порт 80 - это стандартный http-порт, а 8080 - это обычно http_alt, но я бы хотел, чтобы наша команда по безопасности также открыла 8000. Для этого я надеюсь, что ответ на этот вопрос может дать мне разумный аргумент в пользу использования порта 8000 через 8080 в некоторых случаях.

Или это был случайный выбор без смысла?

1 ответ

Решение

Причина, по которой вы не используете 80, заключается в том, что вам нужно быть пользователем root, чтобы использовать любой порт менее 1024, поскольку это привилегированные порты. Теперь вы можете запустить сервер dev на другом порту, запустив

python manage.py runserver 0.0.0.0:8080

Это свяжет сервер dev со всеми ips на порте 8080. Обычно выбор 8000 - это просто добавление 2 0 к обычному порту http. Кроме того, так как 8080 также популярен и, возможно, уже используется.

Другие вопросы по тегам