部署Flask App到Heroku完整过程

0, Heroku

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

1, 注册Heroku账号

进入Heroku官网进行注册, 163,QQ等应该是不支持的,可以翻墙Gmail或者Apple的iCloud邮箱去注册都可以 https://www.heroku.com/

2, 下载Heroku Toolbelt客户端

安装这个客户端就可以让我们以命令行来操作管理我们在Heroku上的程序。
下载安装方法详见官方文档https://devcenter.heroku.com/articles/heroku-cli#download-and-install

3, 登录Heroku

在终端输入heroku login 按提示输入刚刚注册的账号密码

MacBook:MyBlog$ heroku login
Enter your Heroku credentials.
Email: youremail@xxx.com
Password (typing will be hidden): 
Logged in as youremail@xxx.com
MacBook:MyBlog$

最后的logged in as youremail@xxx.com 表示登录成功

4, 准备你的Web App

要使用Heroku部署Web App就要使用Git仓库托管,用git push的方法将程序放上Heroku。git是很优秀的版本托管工具,开发自然少不了和git打交道

4.1安装Git

下载安装 https://git-scm.com/downloads
使用命令行查看git版本

git --version
4.2 生成git仓库

在Web程序的目录下,命令行输入

git init #初始化git仓库

接着将文件托管到git仓库

git add .
git commit -m "v1.0" #版本号v1.0
5, 用Heroku创建app

命令行

heroku create <appname>         #你的app的名字
heroku apps                     #查找你的heroku的app程序
heroku apps:destory <appname>   #删除app程序

创建好app程序后开始配置数据库,Heroku可以支持Postgre数据库,这里我们就用这个。

$heroku addons:create heroku-postgresql:hobby-dev
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-asymmetrical-71831 as DATABASE_URL
Use heroku addons:docs heroku-postgresql to view documentation

出现以上字样表示配置成功

6, 检查我们的必要文件

Heroku要求在我们的Web程序(Python Web)目录中必须要有下面的两个文件:
requirements.txt 和Profile,前者我们都知道,就是放置了各种扩展包的,后者Profile的内容就是

 web: gunicorn manage:app
7, 进行git push部署
git push heroku master
$ git push heroku master
对象计数中: 97, 完成.
Delta compression using up to 4 threads.
压缩对象中: 100% (90/90), 完成.
写入对象中: 100% (97/97), 35.04 KiB | 0 bytes/s, 完成.
Total 97 (delta 22), reused 0 (delta 0)
remote: Compressing source files... done.
remote: Building source:
remote: 
remote: -----> Python app detected
remote: -----> Installing runtime (python-2.7.11)
remote: -----> Installing dependencies with pip
remote:        Collecting Flask==0.10.1 (from -r requirements/common.txt (line 1))
..........
remote: -----> Preparing static assets
remote:        Collectstatic configuration error. To debug, run:
remote:        $ heroku run python manage.py collectstatic --noinput
remote: 
remote: -----> Discovering process types
remote:        Procfile declares types -> web
remote: 
remote: -----> Compressing...
remote:        Done: 37.2M
remote: -----> Launching...
remote:        Released v6
remote:        https://my-heroku-app-cn.herokuapp.com/ deployed to Heroku
remote: 
remote: Verifying deploy.... done.
To https://git.heroku.com/my-heroku-app-cn.git
 * [new branch]      master -> master

以上就说明git push成功了

接着,进行初始化

$ heroku run python manage.py deploy   
$ heroku restart   #重新启动 
8, 开始访问

以上都完成后,我们就可以开始访问我们的web 程序,

<appname>.heroku.com
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
你可以通过以下步骤在 Vercel 上部署 Flask用: 1. 确保你的 Flask 应用可以在本地正常运行,并且已经安装了必要的依赖。 2. 将你的 Flask 应用上传到一个版本控制系统(如 GitHub)。 3. 在 Vercel 上创建一个新项目。 4. 在 Vercel 的项目设置中,将你的版本控制系统与 Vercel 进行关联,以便自动部署。 5. 配置 Vercel 的构建设置,以告知 Vercel 如何构建和运行你的 Flask 应用。对于 Flask 应用,你可以使用 `vercel.json` 文件来定义构建和运行命令。例如,以下是一个示例的 `vercel.json` 文件: ```json { "version": 2, "builds": [ { "src": "app.py", "use": "@vercel/python" } ], "routes": [ { "src": "/(.*)", "dest": "/app.py" } ] } ``` 这个示例假设你的 Flask 应用的入口文件是 `app.py`。`builds` 部分告诉 Vercel 使用 `@vercel/python` 构建器来构建你的应用。`routes` 部分将所有请求重定向到 `app.py`。 6. 提交并推送你的代码更改到版本控制系统。 7. Vercel 将自动检测到你的代码更改,并在构建和部署过程中运行你的 Flask 应用。 8. 部署完成后,Vercel 将提供一个 URL,你可以访问该 URL 来查看部署Flask 应用。 这样,你的 Flask 应用就成功地部署在 Vercel 上了。请注意,Vercel 主要用于静态网站和前端应用的部署,对于需要长时间运行的后端应用,可能不是最佳选择。对于更复杂的后端应用,你可能需要考虑其他云平台,如 Heroku 或 AWS。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值