Heroku 部署笔记
前言
市场上的云应用托管平台有很多,之所以选择 Heroku ,主要原因是知名度比较高,口碑比较好。
首先,介绍一下 Heroku 是什么?官方给出的描述:
Heroku is a platform as a service (PaaS) that enables developers to build, run, and operate applications entirely in the cloud.
Heroku 是一个平台即服务(PaaS),使开发人员完成的在云端编译、运行和操作应用程序。
由于使用的是平台提供的免费试用体验版服务,所以我们要清楚的了解具体的规则限制:
内存:
RAM 限制为 512 MB进程:
1 web 或 1 worker,2 个进程。dyno 时长:
免费剩余时长是根据账号池中总的剩余时长统计,在有剩余时长的情况下,若服务闲置 30 分钟之后,会进行休眠。再次请求访问会被唤醒,可能会有 10 秒左右延迟。不过平台每个月会有 550 小时免费配额,绑定信用卡之后会再增加 550 小时免费配额。不过每个 dyno 同时消耗的时长是累计的哦。自定义域名:
绑定自定义域名,不过提前是需要绑定信用卡。
同时 Heroku 还提供了其他有限制的免费服务,你具体可以在这里面找到:https://www.heroku.com/pricing
安装
使用 brew 安装 Heroku 命令行工具:1
brew install heroku/brew/heroku
命令安装完成之后,我们需要进行登录,若使用HTTP/HTTPS代理,请提前设置。若没有使用代理,请直接运行 heroku login
。1
2
3
4export HTTP_PROXY=http://127.0.0.1:1087
or
export HTTPS_PROXY=https://127.0.0.1:1087
heroku login
然后在浏览器中弹窗网页进行登录。
项目
首先假设你已拥有能够编译和运行的项目代码,你需要对项目使用 Git 仓库管理,Heroku 是基于 Git 仓库的。
在云应用发布之前,需要设置运行和编译环境:1
heroku buildpacks:set heroku/python #这里设置为 Python 环境
在网页端修改 App name 之后,需要更新本地远程仓库地址:
1 | git remote rm heroku #先移除 heroku |
本地测试运行:1
heroku local web
查看日志:1
heroku logs --tail
查看 dyno 使用情况1
heroku ps
首次将代码推送上去之后,需要分配资源:1
heroku ps:scale web=1
发布
云应用的发布方式,是基于 Git 仓库的,可以通过命令方式或是 GitHub 触发方式或是通过容器注册方式。下面我们介绍通过本地仓库命令行方式:
Git 仓库支持的协议有两种:
HTTPS 协议
系统默认是 HTTPS,类似为:https://git.heroku.com/[appname].git1
heroku git:remote -a appname # 通过 heroku 添加远程地址
SSH 协议
1
2
3
4
5git remote -v
git remote rm heroku
git remote add heroku
[email protected]:project(full url).git
heroku keys:add
设置完成后,通过 Git 将代码推送到云平台,此过程会进行编译。1
git push heroku master
添加 ssh key:1
heroku keys:add
查看 ssh key1
heroku keys
此命令输入已存在的keys,eg:1
2ssh-rsa AAAAB3NzaC...JxPK272+Yx [email protected]
ssh-rsa AAAAB3NzaC...UHfS9xgQ== [email protected]
移除添加过的 ssh key:1
heroku keys:remove [email protected]
域名
添加自定义域名:1
heroku domains:add blog.devhitao.com
若添加成功,记得查看对应的 target url,并在 DNS 中指向该 Target URL:1
host blog.devhitao.com
注意:绑定自定义域名,前提是将信用卡绑定到账号上。
参考资料
文档信息
- 版权声明:自由转载-保持署名-非商用-非衍生 ( CC BY-NC-ND 4.0 )