详细描述一次最新Heroku部署python web项目的完整过程

原创 2017年01月03日 16:47:48

最近刚敲完一个flask web方面的博客项目,一路走来,断断续续吧,都是利用业余时间学习加上操练来的,工作不忙的时候,就晚上回来练习,从笨方法一书敲起,工作忙的时候,这块就被搁置了,但是自己内心还是没有忘记它,一旦有空的时候,就去把它捡起来接着学习,今天算是操练到狗书的最后一节部署,通过部署的过程,我也记录了下,分享给学习狗书的后来者。

1. Heroku云平台:

当我们在本地撸完一个Web App的项目的时候,这个时候是该我们选择一个可信赖的平台托管,这里
推荐使用Heroku平台,为什么推荐这款云产品呢?因为免费呢!!!免费提供一定大小的数据库存储。
如果我们仅仅是用来线上测试国内的产品,建议可以先拿它做下测试。

2.准备工作:


    注册Heroku用户 : http://heroku.com
    heroku toolbelt下载:https://toolbelt.heroku.com/

3.安装toolbelt:

因为这里我使用的是win10系统,如果本地之前装过Git,建议安装此toolbelt软件的时候在第一步
的时候就去掉勾选安装Git选项,如果本地没有安装过Git可以忽略此提示。因为安装的时候,它会帮你安
装一个版本的Git。

4.建立一个文件project:


    a)我们把准备好的web app项目整体搬到刚刚新建的project目录

    b)我们用git shell工具在进入cd project目录下,执行git init命令

    c)在project目录下我们执行heroku login,这个时候我们输入注册用户时候填写的用户名和密码
      即可,它在登录的过程中会把本地的ssh公钥自动上传。

    d)执行heroku create <appname> 命令,<appname> 代表的是自己想创建的名称,例     如:heroku create prosperdai  我们就创建了一个prosperdai工程应用。

    e)执行heroku git:remote -a prosperdai

5.创建数据库:


    a)执行heroku addons:create heroku-postgresql:hobby-dev --app **prosperdai**

    后面的**prosperdai**就是我们创建的项目名称,修改成自己刚刚创建的name就行

    **创建数据库成功后会提示**:
    Creating heroku-postgresql:hobby-dev on shidai... free  
    Database has been created and is available  
    ! This database is empty. If upgrading, you can transfer
    ! data from another database with pg:copy
    Created postgresql-opaque-28752 as DATABASE_URL

    b)升级为主数据库 : heroku pg:promote DATABASE --app prosperdai

6.设置环境变量:

我们的web项目中涉及到一些安全性的信息的时候,我们不会直接写在文件中,尤其是开源项目。

设置config环境变量 : heroku config:set FLASK_CONFIG=heroku –app prosperdai
提交你的配置设置 : heroku _ to run heroku config

这一块的config变量我们如果不想用命令设置,也可以在heroku的控制面板中:

  • https://dashboard.heroku.com/
  • 选中自己的项目app名称
  • 选择Settings选项就能进入到自己账户里面网页配置config环境变量等
  • 这里面还有可以看到你的DATABASE_URL地址,记得替换你的config文件里的配置

7.说明:

如果你是win系统的话,建议pass掉运行生产WEB服务器Gunicorn那块,
因为在win上面操作会报很多模块没有存在
可以直接来到按照Flask-SSLify启用安全HTTP,操作后,执行git push命令部署
不过还是要记得添加Profile文件,这个Profile文件,不是txt文档,就是直接明名为Profile就行

8.提交:

差不多就是正常的git命令提交项目代码


    git add .

    git commit -am "make it better"

    git push heroku master


    如果最后执行heroku run python manage.py deploy没有报错,那你就可以正常浏览在<br/>

    <appname>.heroku.com

9.调试:

  1. 想要第一次性就提交成功运行,可能不是那么容易,我们总会在一些地方出错,我们需要查看log。

    执行heroku logs,我们就可以查看错误日志检查。

  2. 直接进入https://dashboard.heroku.com/apps/进入,选择Overview,就可以看到

    最近的提交记录,我们也可以在线查看log。

  3. heroku logs –app shidai –dyno run.5507也可以通过这种命令查看卡在哪一步报错。

总结:如果你还不能部署你的web app,你可以通过google搜索你的相关关键词,基本上都可以解决掉。

感谢:

狗书:《Flask web development》

廖雪峰python相关基础课程

《笨方法学python》

零零碎碎的在线编程学习网站

欢迎关注微信公众号:dedeok,分享一些android python相关开发有趣的事情。

个人博客:www.daixin.me

谢谢你能看到此文结束。

Flask博客系统部署到Heroku

flask heroku 部署

将小项目部署在Heroku

创建并配置好数据库表之后就可以重启程序了此时程序已经部署好在运行了,要通过执行deploy命令才能正常使用0.在阅读《Flask Web开发:基于Python的Web应用开发实战》书写了个小博客,在第...

部署到Heroku

Heroku

在Heroku上部署Java应用-连接数据库

原文:https://devcenter.heroku.com/articles/connecting-to-relational-databases-on-heroku-with-java 部署在...

heroku 部署flask应用

运行环境:ubuntu 14.04 ; python 2.7.6; git 2.7;遇到bug : 1 ,heroku login 无法登陆 2,本地模拟heroku 测...

如何部署Python Web应用:记录一次Heroku部署完整过程

0.选择Heroku云平台        伴随着云计算的浪潮,国内的云服务可谓多种多样,价格虽然不高,但是真正能够提供永久免费使用的,哪怕有些限制也好,似乎也找不到。    出于学习/研究/实验/测试...
  • xpleaf
  • xpleaf
  • 2016年03月13日 11:45
  • 1366

C语言实现非循环双链表节点的删除(带头结点尾结点)

我在之前一篇博客《C语言实现非循环双链表节点的删除(不带头结点)》中详细讲解了不含头尾节点的双链表中删除一个节点,处理过程还是稍显麻烦。自从我们学习使用头尾节点来处理双链表后,删除过程就非常方便。代码...

实现一个时间轴管理滑动条

自己优化实现的一个时间轴管理事件的小JS组件,代码比较冗余,还没来得及去整理,就先贴出代码,可以运行看一下,后面我再去优化一下,里面用的图片的地方我都换成了div处理,所以不美化。 sch...

部署Flask App到Heroku完整过程

HerokuHeroku是老牌的免费云空间,可以很好的满足我们学习/研究/实验/测试的目的,同时,他对Python的支持非常良好。 下面来介绍如何把已经写完的Flask程序部署到Heroku平台。...

heroku部署java web项目

前期准备 下载heroku toolbelt工具 heroku login 命令登录,设置heroku的邮箱和密码 官方文档,使用jetty-runner部署java应用 Getting Starte...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:详细描述一次最新Heroku部署python web项目的完整过程
举报原因:
原因补充:

(最多只允许输入30个字)