据说部署 django 的最佳方式是使用 wsgi,我想知道为啥?

     2023-03-04     42

关键词:

【中文标题】据说部署 django 的最佳方式是使用 wsgi,我想知道为啥?【英文标题】:It is said best way to deploy django is using wsgi, I am wondering why?据说部署 django 的最佳方式是使用 wsgi,我想知道为什么? 【发布时间】:2011-01-20 14:31:58 【问题描述】:

我们正在部署 django 应用程序,我在文档中发现建议使用 WSGI appoach 来执行此操作。

在部署之前我想知道,为什么推荐它而不是其他两种方法,即使用 mod_python 和 fastcgi...

非常感谢。

【问题讨论】:

查看Green Unicorn 【参考方案1】:

wsgi 通常是首选,因为它将您选择的框架与您选择的 Web 服务器分离:如果明天您想从 Apache 迁移到 nginx,或者其他什么,使用 wsgi 迁移很容易,但并非如此否则很容易。

此外,使用 wsgi 可以让您选择添加一些独立于框架的中间件,而不必依赖于您希望已经实现并可供您选择的框架使用的所有可能的功能。

【讨论】:

虽然您的 cmets 在一般意义上是有效的,但 Django 文档实际上推荐 mod_wsgi 作为部署方法,当 OP 说“WSGI”时,他可能是这个意思。换句话说,你不能忘记 WSGI 是一个接口规范,而不是一个部署机制的实际实现。 mod_wsgi 包只是 WSGI 部署方法的一个示例。从技术上讲,FASTCGI 部署也是由 WSGI(通过 Flup)完成的,虽然 Django 直接支持 mod_python,但您也可以在其上放置 WSGI 适配器。因此,OP 可能想更多地了解 mod_wsgi 是否可以。【参考方案2】:

我们尝试了mod_python。它更慢更难配置。它不提供守护程序功能。

我们无法为我们的 Apache、Red Hat 和 Python 组合构建 fast_cgi。我不确定具体出了什么问题,但我们无法正确构建它。它不会正确地向 Django 发送请求,我们无法诊断问题。

我们第三次尝试mod_wsgi。它建造得很好。它有守护进程选项。它很容易配置。它允许在不重新启动所有 Apache 的情况下简单地重新启动 Django 应用程序。

【讨论】:

【参考方案3】:

我将 mod_wsgi 用于任何生产 Django 应用程序。它快速、稳定且非常可配置。

您可能还想进一步研究一下 FastCGI 方法。 Eric Florenzano 刚刚为 Django Advent 用 FastCGI 写了一篇关于 Django 的精彩文章:http://djangoadvent.com/1.2/deploying-django-site-using-fastcgi/

【讨论】:

django和wsgi的问题。

...的你要先自己看一下那份指南,里面根本没有提到wsgi的部署方式。http://docs.djangoproject.com/en/dev/howto/deployment/modwsgi/上面是Django官方网站的指南。你是遇到了什么具体的问题吗?还是连部署都没开始呢? 参考技术B看看官方的部署... 查看详情

在真实服务器中部署 django-channels 的最佳方式

】在真实服务器中部署django-channels的最佳方式【英文标题】:bestwayfordeploymentofdjango-channelsinrealserver【发布时间】:2018-01-0510:20:14【问题描述】:我有一个用django编写的网站并使用django-channels。我可以用“manage.pyrunserver”测试它... 查看详情

无法使用 mod-wsgi 在 Apache 上部署 django

】无法使用mod-wsgi在Apache上部署django【英文标题】:CannotdeploydjangoonApachewithmod-wsgi【发布时间】:2014-11-2412:12:10【问题描述】:我一直在开发一个准备转移到生产服务器的Django应用程序。我安装了Apache和mod_wsgi,我使用了一个测试... 查看详情

使用 mod_wsgi 部署 django3 项目

】使用mod_wsgi部署django3项目【英文标题】:Deployingdjango3projectwithmod_wsgi【发布时间】:2021-05-2306:47:15【问题描述】:我正在尝试使用Apachemod_wsgi发布我的django项目。我在virtualenv中创建了一个名为sampleapp的简单django3项目。然后,我... 查看详情

部署 django 应用程序以加快加载速度的最佳方式

】部署django应用程序以加快加载速度的最佳方式【英文标题】:bestwaytodeploydjangoappforfasterloading【发布时间】:2021-08-2609:18:29【问题描述】:我创建了一个Django应用程序。它使用了更多图像,并且一页还包括视频。存储在美国东... 查看详情

使用 mod_wsgi 在 Apache 上部署多个 django 应用程序

】使用mod_wsgi在Apache上部署多个django应用程序【英文标题】:DeployingmultipledjangoappsonApachewithmod_wsgi【发布时间】:2012-07-1509:00:45【问题描述】:我想在同一主机上部署两个不同的django应用程序:第一个对应url/site1,第二个对应url/s... 查看详情

使用 DotCloud 使用 apache + mod_wsgi + postgresql + nginx + memchache 部署 Django 应用程序

】使用DotCloud使用apache+mod_wsgi+postgresql+nginx+memchache部署Django应用程序【英文标题】:DeployDjangoappwithapache+mod_wsgi+postgresql+nginx+memchacheusingDotCloud【发布时间】:2011-09-2420:41:45【问题描述】:我是django开发和整体Web应用程序开发的新... 查看详情

使用 Gunicorn 运行 Django - 最佳实践

】使用Gunicorn运行Django-最佳实践【英文标题】:RunningDjangowithGunicorn-BestPractice【发布时间】:2013-05-2707:32:58【问题描述】:使用gunicorn运行django应用程序有3种方法:标准gunicorn+wsgi(refdjangodoc)gunicornproject.wsgi:application使用gunicorndjango... 查看详情

React 和 Django 部署

】React和Django部署【英文标题】:ReactandDjangodeployment【发布时间】:2019-08-1413:21:41【问题描述】:我开发了一个应用程序,我想将它部署在服务器上。对于后端,我使用Django和前端React。React和Django之间的通信是通过restapi进行的... 查看详情

[django]部署(一)

参考技术ADjango部署也挺方便,我用过以下三种方式,各自适合特定的场景。不要看不起Django自带server,一个命令解决部署问题,虽然性能不高,但有些场景,这个方法最合适。runserver0.0.0.0:80就能在局域网里开启Django服务,适合... 查看详情

使用 mod_wsgi 在 Centos 6.5 上部署基于 python3.4 的 Django 项目:可行吗?

】使用mod_wsgi在Centos6.5上部署基于python3.4的Django项目:可行吗?【英文标题】:Deployapython3.4-basedDjangoprojectonCentos6.5withmod_wsgi:doable?【发布时间】:2015-12-1501:36:27【问题描述】:我有一个项目可以很好地使用开发网络服务器,但是... 查看详情

使用 mod_wsgi 在 Ubuntu 16.04 apache2 上部署 Django 应用程序

】使用mod_wsgi在Ubuntu16.04apache2上部署Django应用程序【英文标题】:DeployingDjangoapponUbuntu16.04apache2withmod_wsgi【发布时间】:2018-03-3020:46:47【问题描述】:我正在尝试将我的django应用程序部署到使用mod_wdgi运行Apache的Ubuntu16.04。我正确... 查看详情

使用 WSGI 和 apache 设置 django

...n。我已经安装了所有部件(django、apache、mod_wsgi),但在部署时遇到了问题。我在osx10.5上使用apache2.2和django1.0b2,mod_wsgi-2.3我的应用 查看详情

如何在同一个域下部署多个 django cms 项目。我使用的是 apache 2.2 和 mod_wsgi

】如何在同一个域下部署多个djangocms项目。我使用的是apache2.2和mod_wsgi【英文标题】:howcanIdeploymultipledjangocmsprojectsundersamedomain.Iamusingapache2.2andmod_wsgi【发布时间】:2017-01-3021:22:28【问题描述】:我需要在同一个域名下部署两个Dja... 查看详情

学习开发、部署和/或托管 Django 的最佳书籍和资源是啥? [关闭]

】学习开发、部署和/或托管Django的最佳书籍和资源是啥?[关闭]【英文标题】:Whatarethebestbooksandresourcesforlearningtodevelop,deployand/orhostDjango?[closed]学习开发、部署和/或托管Django的最佳书籍和资源是什么?[关闭]【发布时间】:2010-11... 查看详情

部署 VB.NET 应用程序的最佳方式是啥?

】部署VB.NET应用程序的最佳方式是啥?【英文标题】:WhatisthebestwaytodeployaVB.NETapplication?部署VB.NET应用程序的最佳方式是什么?【发布时间】:2010-09-0510:28:02【问题描述】:通常当我在构建VB.NET程序时使用ClickOnce,但它有一些缺... 查看详情

如何使用wsgi在centos上运行django

】如何使用wsgi在centos上运行django【英文标题】:howcanrundjangooncentosusingwsgi【发布时间】:2014-09-0519:20:55【问题描述】:我尝试了2种方式来配置wsgi以在我的网站上使用Django。我的根项目文件在/var/run/myApp.这是我的wsgi.py:importosos.e... 查看详情

使用docker部署nginx+uwsgi

...一些Django的小应用,因一直在本机做测试及使用,未将其部署至服务器。然而当部署至公司服务器的时候,各种环境问题频出,如Python3没有安装加密模块及Sqlite版本太低等,因为是公司服务器无法找到比较干净的环境,故考虑... 查看详情