#前言

众所周知,大部分的静态网页托管服务(例如vercel、netlify)都是完全免费的,我的mc官网正是托管在vercel上的。但是有没有完全免费的动态网页托管服务(也就是虚拟主机)呢?[本链接][1]便介绍了这样一种方法。但我在根据本教程搭建时,发现了一些问题:

1.heroku在我使用时已经无法通过github导入项目,必须通过自己的heroku git搭建,本文将说明解决方案。 2.搭建时必须使用linux系统,多了一步注册GoormIDE的操作,本文将全程使用windows操作。 3.只使用一个插件时是不需要信用卡验证的,本文将消除这一误解。

话不多说,现在开始吧。

注意:本文在某些地方将会参考前文的部分内容,请不要在意。

#开始搭建 ##需要的准备

  • heroku账户,无需信用卡验证
  • 运行windows系统的电脑
  • 初中英语水平或翻译软件
  • 脑子

##注册heroku

[点击链接][2]以注册,需要邮箱接收验证码。

注册成功后,点击New→Create APP创建项目。随便填个名称然后点击Create APP(名称不重要,反正都是套自己的域名用)。

在Settings内将Buildpacks设置为PHP: ![Heroku设置1-1024x177.png][3]

在Resources内添加Postgres组件(选择Hobby Dev否则会提示验证信用卡): ![QQ截图20220512132019.png][4]

##部署Typecho

[点击此处][5]下载Heroku-Git并安装(一路下一步就行,没什么要设置的),然后打开cmd进行以下操作:

什么?你连git都没有安装?那么请[点击此处][6]安装后继续:

heroku login #登录
git clone https://github.com/aaro-n/heroku-typecho.git #克隆仓库
cd heroku-typecho #进入仓库
del .git/ #清空.git,也可以进资源管理器自己清空
git init #git初始化
git add .
heroku git:remote -a 项目名称
git remote add upstream https://github.com/typecho/typecho.git #添加官方仓库
git fetch upstream
git checkout master
git merge upstream/master --allow-unrelated-histories #强制合并,windows系统并不会弹窗而是直接合并
del .gitignore #删除.gitignore文件,一定要执行本操作,否则有些文件无法推送
git push heroku master #推送ostg

推送完就可以直接用了吗?显然是不可能的,还需要获取数据库地址。回到heroku,在Resources中点击Postgres组件,在此处记录数据库信息:

![QQ截图20220512134324.png][7]

回到heroku点击Open app,然后在网页内自行安装(如果没有弹出安装页面,假设打开的url链接是abc.com,那么请将abc.com改为abc.com/install.php以开始安装)

![QQ截图20220512134442.png][8]

安装完毕后刷新,如果一切正常,那么您就拥有了一个属于您的个人博客,而且是理论永久免费的。

##使用自定义域名

自带的域名太难看?没关系,heroku支持自定义域名,而且。。。并不是免费的,需要验证信用卡(小声bb)

不过没关系,您一样可以通过cloudflare workers反代您的网站以达到自定义域名的效果,但是往往只能实现浏览,想要登录后台还得通过heroku的链接登录。

搭建反代:[点我查看][9] 自定义域名:[点我查看][10]

#后记

[这个是我搭建好的成品][11],目前由于主题并不支持新版而暂时无法完全展示,只能使用默认主题作为demo。

特别感谢www.itansuo.info对本文提供的参考教程。

2022.5.12

加更:

heroku提供的数据库会出现重置凭据的情况,但是实测只有在重启应用时会出现,一般无需理会。

但有时候使用postgresql可能会出现部分插件或主题不兼容的情况,那该怎么办呢?通过使用云mysql数据库可以一定程度上解决这个问题。

在一番搜索后,我发现了一个比较好用的[免费数据库][12],虽然容量只有5m。但是本站即使持续运营了两年,数据库也只有不到500k的大小,因此是完全够用的。

本教程只适合穷且喜欢折腾的用户,如果手上有点闲钱,尽量还是购买虚拟主机使用最为稳妥。当然也要注意备份,否则便会出现和本站一样数据莫名其妙丢失且无法找回的情况。

祝白嫖顺利。

2022.6.6 [1]: https://www.itansuo.info/429 [2]: https://heroku.com [3]: https://my.toho.red/usr/uploads/2022/05/3959255973.png [4]: https://my.toho.red/usr/uploads/2022/05/2459223332.png [5]: https://cli-assets.heroku.com/heroku-x64.exe [6]: https://git-scm.com/ [7]: https://my.toho.red/usr/uploads/2022/05/1251680097.png [8]: https://my.toho.red/usr/uploads/2022/05/1243310225.png [9]: https://blog.moej.cn/archives/339/ [10]: https://www.nbmao.com/archives/4979 [11]: https://typecho222.herokuapp.com/ [12]: https://www.freesqldatabase.com/