关闭

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

标签: pythonweb appherokuweb云平台
397人阅读 评论(0) 收藏 举报
分类:

最近刚敲完一个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

谢谢你能看到此文结束。

0
0

猜你在找
【直播】机器学习&数据挖掘7周实训--韦玮
【套餐】系统集成项目管理工程师顺利通关--徐朋
【直播】3小时掌握Docker最佳实战-徐西宁
【套餐】机器学习系列套餐(算法+实战)--唐宇迪
【直播】计算机视觉原理及实战--屈教授
【套餐】微信订阅号+服务号Java版 v2.0--翟东平
【直播】机器学习之矩阵--黄博士
【套餐】微信订阅号+服务号Java版 v2.0--翟东平
【直播】机器学习之凸优化--马博士
【套餐】Javascript 设计模式实战--曾亮
查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:397次
    • 积分:14
    • 等级:
    • 排名:千里之外
    • 原创:1篇
    • 转载:0篇
    • 译文:0篇
    • 评论:0条
    文章分类
    文章存档