Назад | Перейти на главную страницу

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

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

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

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

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

python manage.py runserver 0.0.0.0:8080

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