前提

之前想部署一下朋友圈,但是看了半天朋友圈教程,发现部署方式好像需要有服务器,我是白嫖党(没有服务器),速度当然也没有那么理想,不过对我来说也够了,之前部署评论用了一下Mongodb,看到有用github+mongdb的方法,但是没有对应的教程,部署了半天都没有成功(我菜鸟一个),最后还是看文档才部署成功了。部署方式其实和教程中的差不多,但是有些地方要修改。

文章内容参考后端朋友圈部署

Github+Mongodb部署

部署方法:

fork友链朋友圈的项目仓库,地址:https://github.com/Rock-Candy-Tea/hexo-circle-of-friends

编辑/hexo_circle_of_friends/fc_settings.yaml文件,需要修改的配置如下:

1
2
3
LINK:
- {link: "https://www.yyyzyyyz.cn/link/", theme: "common2"}
# link改为你的友链页地址,theme选择你的博客主题

注意:这里theme要改成适配自己网站友链的主题,友链页的抓取是通过css选择器进行的,即只要你的友链页面符合我们抓取规则中的任意一种,就可以获取到友链信息。这里提供两个通用的css规则:

1
2
3
4
5
6
7
8
/* 规则一(common1):*/
/* avatar : '.cf-friends img::attr(src)' */
/* link : '.cf-friends a::attr(href)' */
/* name : '.cf-friends a::text' */
/* 规则二(common2):*/
/* avatar : 'img.cf-friends-avatar' */
/* link : 'a.cf-friends-link' */
/* name : '.cf-friends-name' */

然后点击仓库的Settings–>Secrets and variables–>New repository secret

添加5个环境变量secret:

  • GH_NAME:github名称,也就是你的用户名
  • GH_EMAIL:github邮箱,填写你注册github的邮箱
  • GH_TOKEN:github访问token,获取方式,请参考官方文档,其中,Select scopes选择repo和workflow。
  • MONGODB_URI: MongoDB连接字符串 mongodb URI 支持’mongodb://‘和’mongodb+srv://’
  • STORAGE_TYPE:存储方式,填写mongondb

配置完成后,应该如下图所示:

然后点击仓库的setting-->Actions-->General-->勾选Read and write permissions-->Save

前往vercel官网,直接用github创建账号并用手机号绑定。

点击New Project新建项目

找到Import Git Repository,应该可以看见你刚刚fork的仓库,点击Import。

然后点击Deploy,回到首页,等待一会,应该会部署完成。

添加vercel环境变量,进入刚才创建的项目主页,点击Settings-->Environment Variables

与前面的secret相同,添加 GH_NAMEGH_EMAILGH_TOKENMONGODB_URI 此外,还需要添加VERCEL_ACCESS_TOKEN,获取方式如下:

点击vercel页面右上角的Settings-->Tokens--->Create

随便输入一个名称后,点击CREATE TOKEN,复制生成的token,添加到vercel环境变量中即可

接下来,回到github,启用fork后仓库的github action,点击Actions–>I understand my workflows, go ahead and enable them

等待运行完毕后,仓库应该会上传data.db,并且vercel也会同步更新。

前往vercel,在项目中找到DOMAINS下面的地址,如:https://hexo-friendcircle4-api.vercel.app, (注:本来只需要这个地址,但由于vercel被墙,需要绑定自定义域名后,使用自定义域名的地址)。在这个地址后面拼接/all尝试访问,出现数据就说明配置成功,这个地址就是前端所需的api地址。

至此,后端部分搭建完成。