突然发现 Heroku 的玩法属实不少,便想着能不能在 Heroku 上部署安装 Typecho,写篇文章记录一下。
什么是 Heroku?
Heroku 是一个支持多种编程语言的 PaaS(Platform-as-a-Service)。在 2010 年被 Salesforce 收购。Heroku 作为最开始的云平台之一,从 2007 年 6 月起开始开发,当时它仅支持 Ruby,后来增加了对 Java、Node.js、Scala、Clojure、Python 以及 PHP 和 Perl 的支持。
1.Heroku基本配置
首先,我们需要一个 Heroku 账号,如果你还没有,请自行注册一个,并绑定一张信用卡&借记卡,这里不做多讲。
1.1 安装Heroku-cli
如果你的设备上已经安装了 Nodejs ,那么可以使用: npm i heroku-cli -g
来安装 heroku-cli
否则请按照官方文档安装 heroku-cli
安装完成后使用:heroku version
来检查是否成功安装,如有类似以下输出则代表安装成功。
|
|
1.2 配置Heroku-cli
安装完成 heroku-cli
后,使用 heroku login -i
登陆 Heroku,回显如下:
|
|
如果以上命令无法登陆,请参考解决 Heroku-cli 无法登陆
然后添加 SSH 密钥:
|
|
2.部署 Typecho 至 Heroku
heroku-cli配置完成后就可以开始准备部署了。
2.1 新建 Typecho 项目
拉取 Typecho 源码并修改:
|
|
初始化 Git 仓库:
|
|
2.2 新建 Heroku 应用
这步可以在 web 操作,也可以使用 heroku-cli 进行配置,这里我使用 cli 来进行操作。
使用 heroku create
新建APP,创建成功将会输出类似如下内容:
|
|
其中:
xxxxxx-xxxx-12345
为应用名称https://xxxxxx-xxxx-12345.herokuapp.com/
为访问链接https://git.heroku.com/xxxxxx-xxxx-12345
为 git 仓库
应用名称可以使用 heroku rename
进行修改,此操作将会同步修改访问链接和 git 仓库地址,如:
|
|
2.3 设置应用语言
使用如下命令将应用语言设置为 PHP:
|
|
若不设置语言可能导致上传时报错
2.3 数据库配置
Heroku提供了 MySQL 和 PgSQL 两种数据库,以插件形式添加,并各有一定免费额度,两种数据库二选一即可。
添加MySQL插件:
|
|
添加PgSQL插件:
|
|
注:二选一即可,我这里使用 MySQL 举例。
添加完 MySQL/PgSQ L后,前往Heroku管理面板,找到刚才新建的应用,点击导航栏中的 Settings,找到 Config Vars 项,点击 Reveal Config Vars
将会显示 MySQL/PgSQL 连接信息,解析如下:
NAME | KEY | VALUE |
---|---|---|
MySQL | JAWSDB_MARIA_URL | mysql://用户名:密码@数据库主机:3306/数据库名称 |
PgSQL | DATABASE_URL | postgres://用户名:密码@数据库主机:5432/数据库名称 |
修改 config.inc.php
文件中数据库相关配置:
|
|
删除其中一项的注释,并填写相关配置,然后更新 git 仓库:
|
|
2.4 推送项目至 Heroku
接下来,使用如下命令将项目推送至 Heroku
|
|
然后打开:https://APP_NAME
.herokuapp.com/install.php
安装typecho
3.绑定域名
这一步非必须,为可选步骤。
前往Heroku管理面板,找到新建的应用,点击导航栏中的 Settings,下拉找到 Domains
点击 Add domains
将域名解析至 cname 地址即可
Enjoy !😁