在 Heroku 上部署 Django 应用

Heroku是一个很棒的平台,它有很多的控件,并且搭建环境相对来说也比较容易。本指南中,我将一步一步指导你在Heroku平台上部署一个简单地Django应用。

搭建开发环境

Heroku工具链

假设你已经在Heroku平台上注册了一个帐户,并且在里面创建了一款应用,为了一会儿通过CLI与Heroku交互,你需要安装Heroku工具链。在这篇指南中,我们用"Sample-Project"作为应用的名字。

Git仓库

在部署你的应用到Heroku之前,你需要先将你的代码签入git仓库中。Heroku提供的git仓库信息可以在你的应用设置页中找到。

git clone git@heroku.com:sample-project.git

Python 和 Virtualenv

如果这不是你的第一款python应用,你或许已经把环境搭建起来了。然后,不同的Pyton版本之间存在兼容性问题,因此你应该在开发你的Python应用时使用Virtualenv命令来创建一个虚拟的环境。

# Install pip

$ [sudo] python get-pip.py

# Install Virtualenv

$ [sudo] pip install virtualenv

# Create a virtual environment

$ virtualenv venv

# Activate venv

$ source venv/bin/activate

创建一款Django应用

建议你安装django-toolbelt,它由以下几部分组成。

- Django

- Gunicorn (WSGI服务器)

- dj-database-url (一个Django配置工具)

- dj-static (一个Django静态文件服务器)

(venv)$ pip install django-toolbelt

(venv)$ cd Sample-Project

# Create a Django project name Sample_Project

# A valid Django project name can't contain dash

(venv)$ django-admin.py startproject Sample_Project .

# Create the requirements file

(venv)$ pip freeze > requirements.txt

部署你的代码

1. 创建ProcFile

ProcFile被用来声明应该被执行的开始web dyno命令。这个文件应该被放在manage.py(指定的)文件夹中。简单地创建一个ProcFile文件,如下面的一行例子所示。

web: gunicorn Sample_Project.wsgi --log-file -

2. 查看你希望部署代码的远程服务器简称。下面这个例子显示地是配置仅有一个简单远程服务器的例子,它的简称是origin。(假设)你可能已经配置过很多的远程服务器。

$ git remote -v

origin  git@heroku.com:Sample-Project.git (fetch)

origin  git@heroku.com:Sample-Project.git (push)

3. 部署你的代码

使用"git push"去部署你的代码。

$ git push origin master

Initializing repository, done.

Counting objects: 11, done.

Delta compression using up to 8 threads.

Compressing objects: 100% (9/9), done.

Writing objects: 100% (11/11), 2.64 KiB | 0 bytes/s, done.

Total 11 (delta 0), reused 0 (delta 0)

-----> Python app detected

-----> Installing runtime (python-2.7.8)

-----> Installing dependencies with pip

Downloading/unpacking Django==1.6.6 (from -r requirements.txt (line 1))

Downloading/unpacking dj-database-url==0.3.0 (from -r requirements.txt (line 2))

Downloading dj_database_url-0.3.0-py2.py3-none-any.whl

Downloading/unpacking dj-static==0.0.6 (from -r requirements.txt (line 3))

Downloading dj-static-0.0.6.tar.gz

...

To git@heroku.com:Sample-Project.git

* [new branch]      master -> master

4. 验证你部署的代码

$ heroku open

你应该看到标准的Django开始页面(显示的是)“It worked! Congratulations on your first Django-powered page.”

5. 使用dyno测量你的应用规模

$ heroku ps:scale web=1

Scaling dynos... done, now running web at 1:1X.

Ubuntu Server 12.04 安装Nginx+uWSGI+Django环境

Django实战教程

Django Python MySQL Linux 开发环境搭建

Django 的详细介绍:请点这里

Django 的下载地址:请点这里

本文永久更新链接地址:

heroku创建linux主机,在 Heroku 上部署 Django 应用相关推荐

  1. heroku创建linux主机,将Yesod部署到Heroku,无法静态构建

    我是Yesod的新手,无法静态构建Yesod,因此可以部署到Heroku. 我已更改默认的.cabal文件以反映静态编译 if flag(production) cpp-options: -DPROD ...

  2. 【Linux】在Linux /Centos和Ubuntu上部署私人云盘seafile

    在Linux /Centos和Ubuntu上部署私人云盘seafile 目录 一.在Centos上部署 1.安装依赖环境 2.启动mariadb服务,并设置开机自启 3.修改MySQL密码 4.安装S ...

  3. 轻松实现各种文档格式转换,doc转pdf、doc转png图片、pdf转png图片,可以实现Windows、Linux、MacOS平台上部署(附源码和说明)

    轻松实现各种文档格式转换,doc转pdf.doc转png图片.pdf转png图片,可以实现Windows.Linux.MacOS平台上部署,可以通过命令行.shell脚本.python等方式调用. 实 ...

  4. Apache上部署Django

    目前,Apache和mod_python是在生产服务器上部署Django的最健壮搭配.mod_python 是一个在Apache中嵌入Python的Apache插件,它在服务器启动时将Python代码 ...

  5. Linux Deploy:在Android上部署Linux

    2019独角兽企业重金招聘Python工程师标准>>> PS: 打算在家里的旧安卓手机上安装linux,之前一直尝试使用complex Linux Installer,在我的泛泰A8 ...

  6. 使用heroku创建应用时报错 heroku does not appear to be a git repository

    在跟着heroku的官方教程创建python应用时,到deploy-the-app这一步,要上传代码到heroku 的git仓库时,报的这个错误: 网上一搜,相关的答案居然极少,首页只出现一篇(还好这 ...

  7. linux dpdk,在Linux(CentOS)上部署DPDK------命令行方式

    1.DPDK 简介 DPDK(Data Plane Development Kit)是数据平面开发工具包,由用于加速在各种CPU架构上运行的数据包处理的库组成. DPDK需要一定的网卡硬件支持,以In ...

  8. 基于nginx和uWSGI在Ubuntu系统上部署Django项目

    1. nginx 1.1 安装 sudo apt-get install nginx 1.2启动.停止和重启 sudo /etc/init.d/nginx start sudo /etc/init.d ...

  9. 在 Linux 上部署 Django 应用,nginx+gunicorn+supervisor

    如果是新服务器先要进行基本的配置 部署前应用配置 开发环境与生产环境中的应用一般会有两套不同的配置.比如 DEBUG 选项,数据库配置等. 对于 setting.py 文件, 在生产环境中我们要设置 ...

最新文章

  1. Python “with” keyword
  2. Blend学习资料总结
  3. 雷达篇(八)合成孔径雷达工作模式
  4. SNMP、MIB、OID概念的理解
  5. Byte Cup 2018国际机器学习竞赛夺冠记
  6. ntp服务器同步时间详细配置
  7. elisa标准曲线怎么做_Curve Expert软件绘制ELISA标准曲线流程 | 每日生物评论
  8. String*Buffer*Builder理解
  9. GateSvr的设计2
  10. AlexNet原理及tensorflow实现
  11. oracle12漏洞补丁下载,linux oracle 11g 漏洞补丁升级
  12. Mysql 联合索引入门
  13. CoolHC Volume 2 By CoolFire
  14. Max Script|修改器篇
  15. CharacterUtils 判断中英文,英文大小写
  16. 如何利用ASP实现邮箱访问(转)
  17. Ps微信表情开放平台微信表情包制作
  18. 有关水果蔬菜的类型网站
  19. 播放失败246106异常代码_史上最全燃气壁挂炉故障代码,这个值得收藏
  20. 写给大忙人看的Linux文件处理命令

热门文章

  1. 梦想照进现实 – 从CES 看VR/AR
  2. PDF转WORD的工具——Solid Converter PDF V6.0 中文破解版
  3. 编程新手如何快速提升coding能力?
  4. 点列图、横向像差、径向像差、畸变
  5. 我对国创、挑战杯这类大学生竞赛的看法
  6. 编写用户帮助/操作手册指南
  7. 特斯拉下个超级工厂选址近尾声 将位于塔尔萨或奥斯汀
  8. 2014年红杉资本沈南鹏的演讲
  9. http web服务器java_基于HTTP的Web服务器编程
  10. DMHSOracle→DM8