为什么 Django 的开发服务器默认使用端口 8000?

为什么 Django 的开发服务器默认使用端口 8000?

(我的问题实际上并不是关于 Django。而是关于替代 http 端口。我只是碰巧知道 Django 是一个相对著名的应用程序,默认情况下使用 8000,所以它很有说明性。)

我有一个开发服务器,我们偶尔需要在不同的端口上运行多个 httpd 服务。当我需要启动第三个服务并且我们已经在使用端口 80 和 8080 时,我发现我们的安全团队已锁定了来自互联网的端口 8000 访问。我知道端口 80 是标准 http 端口,而 8080 通常是 http_alt,但我想向我们的安全团队提出开放 8000 的案例。为了提出这一点,我希望这个问题的答案可以为我提供一个合理的理由,在某些情况下使用端口 8000 而不是 8080。

或者这只是一个毫无意义的随机选择?

答案1

不使用 80 的原因是,您需要 root 权限才能使用 1024 以下的任何端口,因为这些是特权端口。现在,您可以通过运行以下命令在另一个端口启动开发服务器:

python manage.py runserver 0.0.0.0:8080

这会将开发服务器绑定到端口 8080 上的所有 IP。通常,选择 8000 只是在普通 http 端口上添加 2 个 0。此外,8080 也很受欢迎,可能已经在使用中。

相关内容