详细描述一次最新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

谢谢你能看到此文结束。

heroku 部署flask应用

运行环境:ubuntu 14.04 ; python 2.7.6; git 2.7;遇到bug : 1 ,heroku login 无法登陆 2,本地模拟heroku 测...
  • happy_bigqiang
  • happy_bigqiang
  • 2016年04月18日 15:36
  • 2242

flask程序部署到heroku平台的过程

一.准备app及开发环境(若已经准备好可以跳过直接到后面的部署,下面我以原书作者源代码为示例) 1.在github上新建一个仓库(假设为myapp),然后克隆到本地(不要照抄下面的代码,只是个实例...
  • GeekLeee
  • GeekLeee
  • 2016年09月08日 22:55
  • 2011

《Python入门》第一个Python Web程序——简单的Web服务器

上一篇讲了《Python入门》Windows 7下Python Web开发环境搭建笔记,接下来讲一下Python语言Web服务的具体实现:第一个Python Web程序——简单的Web服务器。与其它W...
  • testcs_dn
  • testcs_dn
  • 2016年01月02日 18:52
  • 108829

部署python的web项目

Red Hat Linux Enterprise 6 Apache Deploy Guide A simple deploy document which covered apache, djang...
  • godspeedlaile9
  • godspeedlaile9
  • 2013年06月28日 14:37
  • 878

python+django搭建web项目

python+django搭建web项目
  • xm_csdn
  • xm_csdn
  • 2017年07月06日 13:18
  • 2029

python 部署pythonweb开发的几种方式

部署python开发的web程序有9种方法 mod_python,这是apache内置的模块,很严重的依赖于mod_python编译使用的python版本,和apache配套使用,不推荐...
  • wh_585
  • wh_585
  • 2017年12月08日 14:13
  • 259

Python web 简单服务器的搭建与运行

Python web 简单服务器的搭建与运行 Python 3 服务器搭建是配置好环境变量后,在dos里cd到项目所在目录下, 输入:python -m http.server --...
  • weixin_36082485
  • weixin_36082485
  • 2016年10月15日 18:44
  • 2098

部署Python Web项目到CentOS服务器踩过的坑

CentOS 没有 apt-get 命令,也没有easy-install 像centos这类衍生出来的发行版,他们的源有时候内容更新的比较滞后,或者说有时候一些扩展的源根本就没有。所以在使用yum来...
  • vencent7
  • vencent7
  • 2017年05月06日 23:30
  • 965

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

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

将小项目部署在Heroku

创建并配置好数据库表之后就可以重启程序了此时程序已经部署好在运行了,要通过执行deploy命令才能正常使用0.在阅读《Flask Web开发:基于Python的Web应用开发实战》书写了个小博客,在第...
  • yusuoxinsuei
  • yusuoxinsuei
  • 2017年03月13日 10:56
  • 298
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:详细描述一次最新Heroku部署python web项目的完整过程
举报原因:
原因补充:

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