最近刚敲完一个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.调试:
想要第一次性就提交成功运行,可能不是那么容易,我们总会在一些地方出错,我们需要查看log。
执行heroku logs,我们就可以查看错误日志检查。
直接进入https://dashboard.heroku.com/apps/进入,选择Overview,就可以看到
最近的提交记录,我们也可以在线查看log。
heroku logs –app shidai –dyno run.5507也可以通过这种命令查看卡在哪一步报错。
总结:如果你还不能部署你的web app,你可以通过google搜索你的相关关键词,基本上都可以解决掉。
感谢:
狗书:《Flask web development》
廖雪峰python相关基础课程
《笨方法学python》
零零碎碎的在线编程学习网站
欢迎关注微信公众号:dedeok,分享一些android python相关开发有趣的事情。
个人博客:www.daixin.me
谢谢你能看到此文结束。