Django+Fabric+Gunicorn+Nginx+主管部署

django-fagungis的Python项目详细描述


简介

django fagungis允许您轻松地设置和部署django项目 你的Linux服务器。 Django Fagungis将为您安装和配置:

  • nginx
  • 古尼孔
  • 主管
  • virtualenv

欢迎使用修补程序!请在以下时间为本项目提供服务:

bitbucketbitbucket.org/DNX/django-fagungis

githubgithub.com/DNX/django-fagungis

安装

安装fagungis有几种不同的方法:

使用pip

如果您的系统上有pip安装,只需键入:

pip install django-fagungis

如果您已经有一个旧版本的fagungis,并且要升级,请使用:

pip install -U django-fagungis

从目录安装

如果你用Mercurial或可下载 存档,您需要安装系统范围内的副本。尝试运行:

python setup.py develop

如果失败,您就没有安装setuptools或等效的; 安装或运行:

python setup.py install

如何使用Fagungis?

如果您已经安装了fagungis,则必须继续 项目的配置。

配置

首先,必须配置项目任务设置。为此我们 已经在path/to/fagungis/example戡fabfile.py中为您准备了一个示例文件 因此,您可以创建此文件的副本,并根据 需要。

您还可以在这里找到example_fabfile.py的联机版本:https://bitbucket.org/DNX/django-fagungis/src/tip/fagungis/example_fabfile.py

请注意,您的fabfile.py中没有任何调用的任务:

  • 设置
  • 展开
  • 测试配置

  • Hg_拉力

因为这些名字是法冈吉斯保留的。

首先测试您的配置!

Fagungis自带自动配置测试。每次你跑步 setupdeploy任务,将调用配置测试。 无论如何,您可以为您的项目配置手动运行这些测试:

fab project_name test_configuration

如果手动运行test_配置,您将看到有关所有项目设置的一些输出。

你需要一个例子吗?

好吧,假设您想配置名为“projectus”的django项目。 那么,我们对它了解多少? 我们知道:

  • 这个项目叫做projectus
  • hg存储库是https://bitbucket.org/dnx/projectus
  • 要承载它的服务器的IP是:88.88.88.88
  • 您想使用域www.projectus.org指向88.88.88

好吧,这已经足够配置和部署您的项目了,让我们来做吧! 克隆示例_fabfile.py:

cp path/to/fagungis/example_fabfile.py path/to/projectus/fabfile.py

或:

wget -O fabfile.py https://bitbucket.org/DNX/django-fagungis/raw/tip/fagungis/example_fabfile.py

现在对项目根目录中先前克隆的fabfile.py文件应用一些更改:

  • 更改任务名称:

    # from:
    @task
    def example():
    # to:
    @task
    def projectus():
    
  • 更改项目名称:

    # from:
    env.project = 'example_production'
    # to:
    env.project = 'projectus'
    
  • 更改存储库:

    # from:
    env.repository = 'https://bitbucket.org/DNX/example'
    # to:
    env.repository = 'https://bitbucket.org/DNX/projectus'
    
  • 更改服务器IP:

    # from:
    env.hosts = ['root@192.168.1.1', ]
    # to:
    env.hosts = ['root@88.88.88.88', ]
    
  • 更改nginx服务器名称:

    # from:
    env.nginx_server_name = 'example.com'
    # to:
    env.nginx_server_name = 'projectus.org'
    

不,让我们测试我们的配置:

fab projectus test_configuration

您必须看到一条消息:

Configuration tests passed!

设置项目

假设您现在已经配置了项目,则可以启动安装程序:

fab projectus setup

在此过程中,您可以看到在 服务器。在某个时候,你可能会被要求提供一些作为django的信息。 用户密码(如果Django用户以前不存在)或存储库密码 克隆你的项目。 此任务结束时,必须查看一条消息,说明安装程序 成功结束。 现在你可以继续部署proje了计算机断层扫描。 至少在以下第一次手动测试设置 本指南:https://bitbucket.org/DNX/django-fagungis/wiki/Setup_test

部署项目

运行安装程序后,就可以部署项目了。这是因为 输入即可:

fab projectus deploy

至于安装,在部署过程中可能会要求您提供一些信息。 最后,您必须查看一条消息,说明部署成功 结束了。 现在在浏览器中导航到http://projectus.org,并确保 一切正常。

如何测试Fagungis?

至少在第一次手动测试所有操作,如下 本指南:

https://bitbucket.org/DNX/django-fagungis/wiki/Setup_test

这将增加您使用fagungis的信心。

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

推荐PyPI第三方库


热门话题
ByteArrayOutputStream的java解码属性   java S3 SDK在上载时更新单个对象,而不是创建新文件   java hibernate:无法从eclipse连接到DB   java如何在强制转换JComboBox之前检查其类型?   http从Java中的GETPOST请求方法捕获URI、资源名称,如开发人员工具中所示   java在Spring@Bean方法中返回接口的局限性   Java中的Web服务和客户端(使用Eclipse Apache Axis 2自底向上服务)某些代码会引发异常   java spring安全+rest不起作用   java将LinkedList添加到包含LinkedList的LinkedList并更改添加的LinkedList   java是否临时删除对象的属性?   java使用AnimatedGifEncoder类创建的gif图像的部分帧是不透明的   java如何高效地处理maven3时间戳快照?   java向集合对象添加另一项   java如何将动态参数传递给jquery函数   java使用libGdx桌面端口作为Android GLES20的仿真器