AWS ALB + Django + Gunicorn +- Nginx?

2023-12-30

我正在 AWS 中构建一个环境来托管 django 应用程序。我试图弄清楚是否应该使用 nginx 作为构建的一部分。

我在下面列出了一些不同的环境,以供示例/比较之用。所有环境都使用 AWS ALB。

ENV 1

ALB -> dockercontainer 运行 django

  • +使用内置的django网络服务器,静态文件工作
  • -内置 django 网络服务器不适用于生产用途

ENV 2

ALB -> dockercontainer 运行 django/gunicorn

  • +使用gunicorn(不是django网络服务器)
  • - 静态文件不起作用

ENV 3

ALB -> dockercontainer 运行 django/gunicorn + nginx

注意:我还没有测试过这个配置。

  • +使用gunicorn(不是django网络服务器)
  • +使用nginx
  • 静态文件应该可以工作

I read this https://serverfault.com/questions/331256/why-do-i-need-nginx-and-something-like-gunicornstackoverflow 发帖并了解 Gunicorn 与 nginx 的不同角色。

一位同事告诉我,ENV 2 就是我所需要的,我应该能够用它提供静态文件,ALB 提供与 NGINX 类似的功能。它是否正确?


需要澄清的是,“ALB”代表应用程序负载均衡器,它与旧的弹性负载均衡器的区别在于流量可以基于 URI 进行路由。

但是,无论您指的是哪个负载均衡器,我相信您都需要混合使用 nginx,因为 AWS 负载均衡器不提供任何文件服务功能。如果您的静态文件具有一致的 URI 模式,您也许能够使用 ALB 来提供来自 S3 或 CloudFront 的静态文件。

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

AWS ALB + Django + Gunicorn +- Nginx? 的相关文章

  • 如何更改 Django allauth 中的“帐户已存在”消息?

    当尝试使用社交帐户登录且已存在使用该电子邮件的帐户时 会显示以下消息 An account already exists with this e mail address Please sign in to that account fir
  • Django Rest Framework——没有名为rest_framework的模块

    我已经使用安装了 django rest 框架pip install djangorestframework但当我运行 python3 manage py sycndb 时 我仍然收到此错误 导入错误 没有名为 rest framework
  • Django 不断迁移相同的外键

    我正在将现有数据库导入到它自己的 Django 项目中 我已经从数据库生成了初始模型 通过inspectdb 并且通过注释使 Django 能够一次控制每个表managed False表元设置中的行 我从简单的模型开始 在启用带有外键的表时
  • Django 中从 sqlite 迁移到 postgresql

    我想迁移自sqlite to PostgreSQL db 我安装了 postgresql 并在其 shell 上创建数据库 然后配置我的 django 设置如下 default ENGINE django db backends postg
  • Logrotate - nginx 日志不在 docker 容器内旋转

    我有一个运行 nginx 的 docker 容器 它正在将日志写入 var log nginxLogrotate 安装在 docker 容器中 并且 nginx 的 logrotate 配置文件已正确设置 尽管如此 logrotate 仍不
  • django AuditTrail 与还原

    我正在开发一个新的网络应用程序 我需要将数据库中的任何更改存储到审核表中 此类审计表的目的是 稍后在真正的物理审计中 我们可以确定在某种情况下发生了什么 谁编辑了什么以及数据库当时的状态是什么 复杂的计算 所以大多数审计表将被写入而不是读取
  • 将消息从 AWS Lambda 发布到 AWS IoT

    我正在尝试使用 Nodejs 将消息从 AWS Lamba 发布到 AWS IoT 我已压缩该项目并上传到 AWS IoT 下面是代码片段 var awsIot require aws iot device sdk var device a
  • 无故运行测试时 PyCharm 抛出“AttributeError: 'module' object has no attribute”

    因此 我有一个 Django REST Framework 项目 有一天它无法在 PyCharm 中运行测试 从命令行我可以使用它们来运行它们paver or the manage py直接地 曾经有一段时间 当我们没有在文件顶部导入类的超
  • 如何在 Django 中使用基于类的视图创建注册视图?

    当我开始使用 Django 时 我几乎使用 FBV 基于函数的视图 来处理所有事情 包括注册新用户 但当我更深入地研究项目时 我意识到基于类的视图通常更适合大型项目 因为它们更干净且可维护 但这并不是说 FBV 不是 无论如何 我将整个项目
  • 如何在 Django 中使每五个帖子成为广告帖子

    我正在尝试允许用户赞助帖子 以便为该帖子带来更多点击量 我想让每五个帖子成为赞助帖子 但如果我尝试在模板中使用可整除并循环浏览广告 那么它将发布all第四个帖子后的广告 这是我尝试过的一些代码 编辑 我已将问题更改为不会显示帖子的问题 有人
  • Django Rest Framework 删除 csrf

    我知道有关于 Django Rest Framework 的答案 但我找不到解决我的问题的方法 我有一个具有身份验证和一些功能的应用程序 我向其中添加了一个新应用程序 它使用 Django Rest Framework 我只想在这个应用程序
  • AWS Cloudfront 作为具有自定义域的 Heroku 站点的 CDN

    最近 我从 AWS Route 53 brianpatrickhummel com 购买了一个域来托管个人投资组合 该投资组合网站已启动并正在运行 使用 S3 存储桶和 Cloudfront 作为 CDN 在作品集网站上 访问者可以预览我构
  • 阻止 ingress-nginx 负载均衡器上的特定路径

    我有许多指向入口控制器 IP 的域 我想阻止所有域 站点的 特定路径 有没有办法做到这一点 我可以用nginx ingress kubernetes io configuration snippet 对于每个站点 但正在寻找同时处理所有站点
  • Django:使用条件 {% extends %} 使 {% block "div" %} 成为条件

    我想分享一个 AJAX 和常规 HTTP 调用之间的模板 唯一的区别是一个模板需要扩展 base html html 而另一个则不需要 我可以用 extends request is ajax yesno app base ajax htm
  • Django“和”Pinax 还是只是 Pinax?

    我正在开发一个个人项目 该项目已 完成 但现在我想添加一个社交应用程序 我认为 Pinax 已经为这项任务做好了准备 我想知道一些事情 我可以在我的项目中像 django 应用程序一样使用 pinax 吗 或者我需要使用 pinax 重新设
  • 如何从 Django 管理界面禁用“最近操作”小部件?

    我不想展示最近的操作小部件在 django 管理站点中 我不知道如何完成此操作 你可以覆盖admin index html禁用显示的模板 有 您可能想要更改 删除的侧边栏块 有条件地启用或禁用操作 ModelAdmin get action
  • 在 Python/Django 中将用户的 facebook/twitter 好友与网站用户进行比较

    我想知道是否有人可以帮助指导解决这个相当常见的问题的方法 我正在构建一个简单的网站 用户可以连接他们的 Twitter 帐户进行注册 我想创建一个界面 向他们显示哪些推特好友已经在使用该网站 因此 我可以获得用户的 Twitter 朋友列表
  • Django dumpdata 和 loaddata 不适用于多对多中介模型

    我在以下模型上将 dumpdata 与 Django 1 2 3 一起使用 class Bar models Model class Foo models Model bars models ManyToManyField Bar thro
  • Django-tables2 列总计

    我正在尝试使用此总结列中的所有值文档 https github com bradleyayers django tables2 blob master docs pages column headers and footers rst 但页
  • 在 JavaScript 函数的 Django 模板中转义字符串参数

    我有一个 JavaScript 函数 它返回一组对象 return Func id name 例如 我在传递包含引号的字符串时遇到问题 Dr Seuss ABC BOOk 是无效语法 I tried name safe 但无济于事 有什么解

随机推荐

  • RecyclerView 过滤器不起作用

    我用过this https stackoverflow com questions 30398247 how to filter a recyclerview with a searchview 30429439 30429439过滤我的解
  • .NET 中的本地化地区/国家名称

    是否可以在 NET 中检索国家 地区的本地化名称 The 区域信息类 http msdn microsoft com en us library system globalization regioninfo VS 80 aspx只有 En
  • 如何在 RStudio 中清除 R 命令历史记录?

    我想完全清除 RStudio 中的 R 命令历史记录 我说的是当我按下向上和向下箭头键时 而不仅仅是通过单击扫帚来清除控制台 我尝试删除 Rhistory文件放在我的工作目录中并重新启动 RStudio 但该文件不断自行恢复 我该如何彻底摆
  • has_many 关系的每个最后元素的作用域

    假设用户和消息之间有 has many 关系 我想设置一个范围 以便能够通过在其中拥有某些内容的用户来过滤用户last他们发布的消息 因此仅在每个用户的最后一条消息中进行搜索 下面我得到了所有消息的结果 class Contact lt A
  • ASP.NET MVC 中的 DotNetOpenAuth oAuth [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • Android 中的多线程下载

    我已经测试了一些关于如何加速多次下载的信息 此表显示了每次下载使用单个线程或新线程通过不同网络下载 使用 Samsung Galaxy S1 2 到 10 个图像的速度 Multithread SingleThread Images Wif
  • 从下拉列表中过滤索引页上的结果

    我使用的是 Rails 3 有两种模型 场馆和区域 其中每个区域有多个场馆 每个场馆属于一个区域 我试图找到一种方法 通过在同一页面的下拉框中选择的区域来过滤场地索引中显示的场地记录 下拉框当前按我的意愿显示我的所有区域记录 但在选择区域并
  • Oracle Date TO_CHAR('Month DD, YYYY') 中有多余空格

    当我做 Select TO CHAR date field Month DD YYYY from 我得到以下信息 July 01 2011 April 01 2011 January 01 2011 为什么我的月份和日期之间有多余的空格 为
  • 验证特定应用程序的 Facebook 访问令牌

    我需要验证我的 iPhone 应用程序上的用户是否确实登录到我的 Facebook 应用程序 我可以通过使用访问令牌检索用户 ID 来验证其用户 ID 我预见的安全问题是 他们可以向我发送任何有效的访问令牌 并且它将返回他们的用户 ID 我
  • ASP.NET 中的视图状态和控件

    几天前我发布了一个关于视图状态的问题 在运行一些测试后我得出了一些结论 结果 根据这些结果 我对某人将如何做某些事情有一些疑问 以下是我运行的测试结果 如果 usercontrolA 是从加载的OnInit一个页面 那么他的视图状态将在On
  • 在 .NET ASMX Web 服务中获取会话

    我有一个 ASMX Web 服务与我的 ASP NET Web 应用程序一起托管 现在 我需要将用户会话引入 Web 服务 为了测试这一点 我做了这个简单的方法 WebMethod EnableSession true public str
  • Rails 3 中 requirerack/openid 的问题 [native require 正常工作]

    我安装插件 open id authentication 并出现此错误 usr lib ruby gems 1 9 1 gems activesupport 3 0 0 beta lib active support dependencie
  • 如何限制 Haskell 线程的内存使用

    在使用 GHC 编译的 Haskell 程序中 是否可以通过编程方式防止内存使用过多 也就是说 当内存使用量达到指定限制时 让它通知程序 最好指出有问题的线程 例如 假设我想编写一个服务器 托管一个脚本语言解释器 用户可以连接到该服务器 它
  • 使用 Hashids 库对 Laravel eloquent 集合上的 id 进行哈希处理

    我从数据库中获取一组任务作为雄辩的集合 然后将集合发送到我的视图 在那里我执行foreach 这里没有问题 除此之外 我需要参考任务id在我看来 URL 操作等 但我显然不希望在源代码中出现这个 所以我正在使用这个图书馆 https git
  • 如何将值从弹出视图控制器传递到上一个视图控制器?

    所以在我的 1stViewController 中我有这样的代码 IBAction func colorDropdown sender Any self popUpColorPicker func popUpColorPicker let
  • Java:静态最终字段按什么顺序初始化?

    好吧 假设我有一堂课 如下所示 public class SignupServlet extends HttpServlet private static final Logger SERVLET LOGGER COMPANYLog ope
  • Vue.js 组件 prop 没有 2 路绑定?

    I found 这个问题是类似的 https stackoverflow com questions 44790842 vuejs right way to edit prop without changing parent data 但它
  • 为什么静态类在 Java 中是非法的?

    我正在开发一个 Android 应用程序 但遇到了一些困难 我不断收到错误 Illegal modifier for the class FavsPopupFragment only public abstract final are pe
  • 获取生成器的子集

    我有一个生成器函数 想从中获取前十项 我的第一次尝试是 my generator 10 正如错误告诉我的那样 这不起作用 因为生成器不可订阅 现在我已经解决了这个问题 list my generator 10 这是有效的 因为它将生成器转换
  • AWS ALB + Django + Gunicorn +- Nginx?

    我正在 AWS 中构建一个环境来托管 django 应用程序 我试图弄清楚是否应该使用 nginx 作为构建的一部分 我在下面列出了一些不同的环境 以供示例 比较之用 所有环境都使用 AWS ALB ENV 1 ALB gt dockerc