为什么 Gunicorn 使用端口 8000/8001 而不是 80?

2023-11-25

我忙于使用 Gunicorn(作为 Django 服务)和 NGINX(作为反向代理)为 Django 框架设置开发环境。

当我看几个教程时像这样一和this one,我看到他们使用端口 8000 和端口 8001 (http://127.0.0.1:8000 and http://127.0.0.1:8001)。是否有特殊原因不使用端口 80,就像其他网络服务器一样?

端口 8000 通常用于广播流媒体和恶意软件,那么为什么呢?

顺便说一句:我在 Ubuntu 12.04 系统上使用 Virtualenv 运行它。


1024 以下的所有端口特权端口。要绑定到特权端口需要 root 用户权限,通常您不希望以 root 级别权限运行 Gunicorn。

相反,我们所做的是允许 nginx 绑定到 127.0.0.1:80,然后使用如下 nginx 配置将端口 80 的请求代理到非特权端口(例如 8000):

server {
        location / {
                proxy_pass http://127.0.0.1:8000;
        }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么 Gunicorn 使用端口 8000/8001 而不是 80? 的相关文章

随机推荐

  • Keras VGG16 微调

    上有VGG16微调的例子喀拉斯博客 但我无法重现它 更准确地说 以下代码用于在没有顶层的情况下初始化 VGG16 并冻结除最顶层之外的所有块 WEIGHTS PATH NO TOP https github com fchollet dee
  • Ruby on Rails:自定义设备注册控制器,请求创建操作

    我有一个自定义注册控制器 但我不想覆盖设计中的创建操作 当我尝试注册用户时 出现以下错误 Unknown action The action create could not be found for Devise Registration
  • 无法在 Eclipse 中导入 java.awt.geom

    我刚刚开始开发一个新的 Eclipse Android 项目 并且想要使用 java awt geom 包中的类 我安装了 OpenJVM 1 6 和 sun 1 6 jdk 都来自 debian 的存储库 当我尝试导入包时 它说导入无法解
  • 如何强制刷新/重新绘制 JScrollPane?

    我在程序开始时根据数据库中的一些内容以编程方式将许多组件 JPanel JLabels 等 添加到 JScrollPane 中 似乎这个过程对于 GUI 来说太快了 因此 JScrollPane 并不总是正确更新 即即使内部 JPanel
  • 存储整数范围、查询范围和修改范围的数据结构

    我们需要维护 mobileNumber 及其在内存中的位置 挑战在于我们拥有超过 500 万用户 存储每个用户的位置就像 500 万条记录的哈希图 为了解决这个问题 我们必须在范围上工作 我们得到了一系列电话号码 例如 范围1开始 9899
  • 用批处理文件替换文本文件中的字符

    有没有办法用批处理文件替换文本文件中的某些字符 我没有找到任何命令来执行此操作 简单的回答是 不 不能使用基本的 Windows 实用程序 但正如其他答案所建议的那样 有很多 UNIX 端口可以满足您的需求 看一眼gnuwin32 软件包
  • c# 中 double[*,*] 与 double[][] 之间的区别

    我用了 double marks new double 26 5 int function object verify marks public void verifymarks double marks 我得到的错误是无法从 double
  • 自定义数据注释 ASP.NET MVC C#

    我有以下关于 C 的 MVC2 的问题 这是我的模型 public class Pmjob Tooltext Hier soll der Name eingegeben werden DisplayName Type public int
  • 安装 python 包失败并显示“无法执行 gcc:没有这样的文件或目录”

    尝试安装 mysql python 出现以下错误 mysql和python已经安装好了 任何帮助将不胜感激 root uu include easy install mysql python Searching for mysql pyth
  • Excel数组countif公式

    我想使用 COUNTIF 函数来计算 2 0 0 5 中有多少项大于 2 在 Countif 函数中 第一个参数是范围 第二个参数是条件 我已经尝试过下面的公式 甚至尝试在最后使用 Ctrl Shift Enter 进行评估 但似乎不起作用
  • 上界泛型 VS 超类作为方法参数?

    据我所知 使用上限泛型和使用超类作为方法参数都接受相同的可能参数 哪个是首选 两者之间有什么区别 如果有 上限泛型作为参数 public
  • env: python3.9: 没有这样的文件或目录

    我有一些 python 代码格式化程序作为 git 预提交挂钩 并且我已将我的 python 版本更改为 brew list grep python email protected email protected brew unlink e
  • 使用 Spring security oauth,使用自定义 OAuth 提供程序,我得到 [authorization_request_not_found],我应该自己处理回调方法吗?

    使用 Spring Security 5 oauth 我使用 Google 作为 OAuth 提供程序成功地运行了整个身份验证 授权周期 但如果我使用自己制作的在不同应用程序上运行的 OAuth 提供程序 我就会陷入困境 我正在使用以下 2
  • 在 Django 模型字段中存储二进制哈希值

    我有一个二十字节的十六进制哈希值 我想将其存储在 django 模型中 如果我使用文本字段 它会被解释为 unicode 并且返回乱码 目前我正在对其进行编码和解码 这确实使代码变得混乱 因为我必须能够通过它进行过滤 def get cha
  • .Net core 2.0 中不支持 log4net AdoNetAppender?

    我正在实施 log4netAdoNetAppender in ASP NET核心2 0 但我猜它不支持 我已经实现了log4net滚动文件附加器在 core 2 0 中 它使用 log4 net 配置成功运行 那么 如果log4net Ad
  • 使用 Cygwin 编译 C++

    如何在 Cygwin 中编译我的 C 程序 我已经安装了gcc 我应该使用什么命令 另外 当控制台应用程序位于 cpp 扩展名中时 如何运行它 我正在尝试使用一些小程序来学习 C 但在 Visual C 中 我不想为每个小 cpp 文件创建
  • 会话是否使用cookie?

    这是一个月前的面试题 会话是否使用cookie 如果是这样 他们是如何做到的 Assume Session UserId 1这个会话变量在内部如何使用cookie 如果是这样 cookie 的名称是什么以及该 cookie 的值是什么 虽然
  • 如何在c中创建二维数组并使用指针和函数显示它? [关闭]

    Closed 这个问题是无关 目前不接受答案 我正在尝试编写 2 个函数 一个用于读取矩阵 二维数组 另一个用于将其打印出来 到目前为止我有 Read a matrix allocate space read elements return
  • 异常对象的生命周期

    我想知道异常对象是如何创建的 为什么处理函数参数可以是非常量引用 例如 class E public const char error E const char arg error arg cout lt lt Constructor of
  • 为什么 Gunicorn 使用端口 8000/8001 而不是 80?

    我忙于使用 Gunicorn 作为 Django 服务 和 NGINX 作为反向代理 为 Django 框架设置开发环境 当我看几个教程时像这样一和this one 我看到他们使用端口 8000 和端口 8001 http 127 0 0