用于部署wsgi应用程序的模块化基于结构的工具。

ploybot的Python项目详细描述


概述
——


ploybot是一个基于结构的工具,用于根据我喜欢的方式设置python wsgi应用程序
选择操作系统,使用
apt.debian解决系统依赖关系可能也能工作,但还没有经过测试。
*Gunicorn用于为您的wsgi应用程序提供服务。

(我想它也可能是枪械堆栈,但听起来不那么友好。)


*使用一个命令("ploybot push")将站点部署到一个或多个服务器。
*自动配置nginx、supervisord和gunicorn以使站点运行。
*将每个站点隔离到单独的virtualenv中您可以部署到(例如,在暂存阶段与生产阶段不同的数据库)。


et.org/dori/ploybot egg=ploybot

/>~~~~

::


polybot push-r rolename

此命令是polybot存在的主要原因。根据site.yaml和选定的role.yaml文件中指定的配置,它可以完成
在主机(或一组主机)上运行应用程序所需的工作。按下可执行以下操作:


1。sshe到角色配置中指定的远程服务器。
2。创建旧站点的压缩回滚存档(如果已经存在)。为站点创建一个virtualenv。
4.安装apt和python依赖项。
5.将站点从本地计算机复制到
远程服务器上的临时目录。
6。写入nginx和supervisord的配置文件。
7.将代码从temp dir移动到生产位置
(默认情况下为/srv/<;sitename>.)。
8。告诉nginx和supervisord重新加载其配置。



rollback
~~~~~~

::

polybot rollback-r rolename

它将
ssh到您的角色文件中指定的推送主机,并还原站点的最新
存档。ploybot保留站点的3个回滚副本,因此您可以
潜在地运行3次"ploybot rollback"以从3次
部署返回到以前的状态。

0。(没有
被复制的内容)site.yaml的*static\u dirs*部分中列出的静态目录也将被提供。(cherrypy用于此魔法。)


install懔serve r懔deps
~~~~~~~~~~~~~~~~~~




ploybot install懔server懔deps-r rolename

当您获得一台散发着新鲜ubuntu气味的闪亮新服务器时,它只需进行一点点设置,就可以知道如何为ploybot dep提供服务。Loyed网站。这个
命令可以做到这一点。它安装nginx和supervisord,并在其配置中为每个nginx和supervisord提供一个
通配符,以便从/srv/<;sitename>;/conf加载。


pip-deps
~~~



ploybot pip-deps

此命令包装"pip-install"以安装列出的所有python包。
在requirements.txt中输入本地python环境。当你在一个已有的项目上使用一个新的virtualenv时,它很容易获取所有的依赖项。~~~~

::


polybot create_virtualenv


为要部署的应用程序创建虚拟环境。




configure_nginx
~~~~~

polybot configure_nginx




polybot switch_nginx
~~


polybot switch_nginx

重新加载nginx配置



/>
ploybot stop_other_versions


杀死此应用程序的其他运行过程


~~~~

::



创建具有基本ploybot文件和目录结构的目录。

layout
----

LED项目应该像这样分层::

——deps.yaml
——fabfile.py
——membrane.py
——roles
——dev.yaml
——staging.yaml
——production.yaml
—site.yaml
site.yaml-这是主配置文件(与google
app engine中的app.yaml相当)
2。yaml-列出运行站点的服务器上需要安装的python包、ubuntu apt包和apt build依赖项。py-一个与fabric兼容的fabfile,用于导入polybot的fabric
函数。
4。roles/\*.yaml-一个或多个"role"文件,其中包含要传入应用程序的配置,具体取决于部署上下文。

将使用"ploybot skel"命令为您创建所有必需的文件。

py-对于django项目来说,有一个小的填充程序来将项目作为wsgi应用程序公开是很好的。我喜欢叫我的膜。您可以使用
任何您喜欢的,或根本不使用,这取决于您的设置。
2.我的django项目-ploybot不限于django;您的python路径上的任何有效wsgi应用程序都应该是可维护的。但对于django项目,我认为把它们放在那里是有意义的。_主管:http://supervisord.org/
…_ nginx:http://nginx.org/
。_ ubuntu:http://www.ubuntu.com/
。_古尼康:http://gunicorn.org/
…_结构:http://docs.fabfile.org/
…_ virtualenv:http://virtualenv.openplans.org/

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java ParsePushReceiver参数   java如何从设备读取完整数据?   java将java_设置为home,但忽略错误   java如何从歌曲中对专辑进行排序?   java libnaude+windows 10 x64+Eclipse   java如何将maven目标更改为如图所示的想法中的quickicon?   java swing布局中心面板,可滚动显示多个窗口窗格   使用MOSQUITO代理的mqtt中的java SSL   java如何通过属性值获取XML字符串   java在服务器每次启动时停止GWT编译   java如何让javac搜索类路径的子目录?   可以比较java中的两个不同类吗?   JAVAAndroid活动内部类中的lang.NoClassDefFoundError   java HttpServletRequest获取请求头参数块   C++socket与java客户端的连接   java如何在Apache commons http客户端上使用SSL客户端证书   使用预编译正则表达式模式提高java速度   JavaRhino将两个已编译脚本合并为一个脚本