Django Backstage

1.8k 词

Django Backstage
使用virtualevn,uWSGI, nginx在网站上部署Django工程。早期的Django,运行应用很多都是和特定的网站相关的。为了确保应用和页面在站点上可重用,站点框架继承到Django中。

站在历史的角度上讲,Apache-modwsgi上下问环境的异议在于,从独立的web域名中,把Django应用独立出来。

回到从前,新兴的标准推荐是uwsgi + nginx. 这开创一个新纪元,你的Django Apps 可以提供RESTful 服务,WebSockets和任何其他各种各样的的服务,另外还有传统的Html/CSS/JS的内容。

感谢uWsgi,就想你期望的那样就,你可以把很多不同的服务运行在不同的端口(或是套接字)幸福的一起运行而不需要附加的web服务器(再见apache)。直到后来(如果真的发生),当我绑定了一个开心的小uWsgi服务在服务器上。

(喂 nginx-后面详细说明)我们从逻辑上谈网站域名和网站框架。一些大型服务的构建,并不在公共命名空间保留。所以,参照这些的站点上下文是没有清晰的意义的。

我们需要一个新的方式来讨论和管理这些服务。因此,我们介绍Django Backstage项目和使用(可能会滥用 )使用、一个爵士乐的比喻表示他的结构和功能组件。

Class Act:
“”Act类本质上是一个可运行的Django应用。(可以运行,没必要运行)
这是类比了一个表演。(演奏者,和声,合唱团,等)迈尔斯.戴维斯隐藏自己的名誉,戴维斯此期间的演出结束了,但是保留了这个音乐表演。的确存在,他们没有演,但确实是纯在一种音乐演出(音乐家是这样的)。类似你的应用,事实上没有运行,但也被类比定义成演出。(Act)””
“”””自然而然,一个团体必须有一个经理(演出经理)。想象:鲁本 金凯德。(鹧鸪家庭合唱团), 帕科上校(埃尔维斯)。

Class Stage:
“”Stage是你运行Act的一个环境。就像一个音乐舞台,可以演奏音乐的物理空间,在这,我们会使用Virtualevn来构建和使用一个舞台,uWsgi和Nginx, 尽管我们可以使用更流行的舞台,用gunicorn/superviso 或是其他什么的。

Class Manager:
“”””我们的Stage Manager(舞台经理)和uWsgi Emperor协作控制,开始/停止/添加/移除/修改 会话。内部,意味着 和应用uwsgi.ini文件协作。外部,意味StageManager需要调高系统级别权限去“增加/消除”连接到/etc/uwsgi-emperor/vassals.正确的uwsgi.ini文件/连接,设计命名的方案。在运行的Backstage实例之间,将冲突机会最小化。
Class Set:
“”””A Stage Set(舞台布景)集合了安装完了的应用(乐器),样式,脚本(光线和道具等)”””

Class Sess:
“”””Sess,是一个团体在舞台上演出。是Django App运行在uWsgi.在本机暴漏端口/或是套接字。就像车库表演。你确定在演奏音乐,但(邻居很生气)是外面世界的没人听或是知道他。
(我们使用’Sess’的缩写代替‘Session’避免和Django的Sessions冲突。)
“”“”
Class Venue:
“”””A Venu(案发现场)是DNS的命名空间,例如example.com 或者类似的。案发现场是可意会不可言传的,如果你想,他可以显示小猫的图片,他可以显示一个纸杯蛋糕食谱,他也许不包含内容,在音乐世界,Venue是一个(公开或是私有)人们可以去听音乐的地方。根据演出,星期五演奏爵士,星期六演奏hipHop, 星期日什么也没有。
Class Gig
“”A Gig是一个现实运行的网站,是一个演出,预定了在演出地点的音乐会的舞台上演奏。她是现场音乐会。””

Class Production:
“”A production 是单个的Backstage实例,而是是她内容的超集。“”
Class Manager:
“”””The Production Manger(产品经理类)控制全部的产品,
显然,是协调演出活动的, 舞台和 预约经理。一个演出不代表随便的拥挤小演唱会, 而是在有演出地点一个独立的演出。除非产品经理说的。

Class Producer(PowerDNS) 企业范围
产品经理 我的DNS选项/目前还没有实现。