51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

Hexo -43- 友链朋友圈 后端部署

你是否经常烦恼于友链过多但没有时间浏览?那么友链朋友圈将解决这一痛点。你可以随时获取友链网站的更新内容,并了解友链的活跃情况 。 本文记录后端 docker 部署流程。

简介 {#简介}

友链朋友圈 是自动获取友链中朋友文章的后端插件

功能概览 {#功能概览}

  • 新增前端管理面板,告别繁琐的配置,管理朋友圈更加方便
  • 增加极简模式
  • 支持 gitee 和 github 上的 issues 友链获取
  • 支持butterfly、volantis、matery、sakura、fluid、nexmoe、Yun、stun、stellar、next主题的友链和文章获取
  • 支持feed订阅规则,如atom、rss等规则(支持wordpress类型的博客)
  • 支持自定义订阅后缀
  • 支持站点屏蔽
  • 支持按照更新时间和创建时间排序
  • 支持未适配的hexo主题和非hexo用户使用,在配置项选择开启配置项友链
  • 额外的友链页同时爬取
  • 支持添加HTTP代理
  • 多种数据存储,提供leancloud,mysql,sqlite,mongodb存储方式
  • 多种方式部署,提供github,server,docker部署方式
  • 将api整合到主仓库
  • 新增友链获取策略的common规则
  • 新增api方式的配置项友链
  • 将额外友链页和环境变量友链统一为LINK,在配置文件中配置

相关链接 {#相关链接}

后端部署 {#后端部署}

项目支持 githubserverdocker 三种部署方式,我有服务器,采用 docker 部署方式

下载 docker 镜像 {#下载-docker-镜像}

部署容器 {#部署容器}

clone项目仓库,地址:https://github.com/Rock-Candy-Tea/hexo-circle-of-friends

进入项目目录,运行部署脚本:

有命令行的选项,依次选择 docker部署,部署端口号,退出

此时会看到多了一个 docker 容器

测试 {#测试}

访问 IP:9595/all,显示一大堆数据表示部署成功

项目配置 {#项目配置}

项目配置在仓库中的/hexo_circle_of_friends/fc_settings.yaml文件:

请根据文件中的注释,结合本节说明,修改其中的内容。

  • OUTDATE_CLEAN:默认为60。超过这个值(距今超过60天)的文章,会在数据库中被删除。

  • LINK:起始的友链页面和爬取策略,支持添加多个,详细见注释说明。

  • SETTINGS_FRIENDS_LINKS:配置项友链。这是一种通用的方法,如果程序不支持爬取你的友链页,请打开此项。

    • 其中list字段格式为:
    • 关于json_api选项,4.3.0以后支持通过提供api对友链进行配置,返回格式必须为json,格式如下:

      其中,友链1、友链2中的内容格式同list字段。

  • GITEE_FRIENDS_LINKS:从gitee issues中获取友链信息,详见yaml文件中的注释。

  • GITHUB_FRIENDS_LINKS:从github issues中获取友链信息,详见yaml文件中的注释。

  • BLOCK_SITE :屏蔽站点,配置在这里的网址不会被爬取。比如,你的友链页添加了自己,并且不想被爬虫获取,就可以把自己的主页地址屏蔽掉。支持正则表达式,举例:

  • HTTP_PROXY :如果想为爬虫设置HTTP代理,将此项设为True,然后根据你选择的数据库不同,添加环境变量。名称为PROXY,值为[IP]:[端口],比如:192.168.1.106:8080。注意,目前只支持添加一个HTTP代理。

  • MAX_POSTS_NUM :每个友链最多获取几篇文章,此值越大,则抓取的文章上限越多,相应地运行速度也会降低,反之亦然。默认为5

  • DATABASE :数据的存储方式,目前支持将数据保存在leancloudmysqlsqlitemongodb,默认为sqlite

  • DEPLOY_TYPE :整个项目的部署方式,目前支持将项目部署在githubserverdocker,默认为github

修改内容 {#修改内容}
  • 这里我们需要修改的是 LINK,将其修改为自己的友链链接
  • 其余一般可以不用修改

修改配置 {#修改配置}

明白了配置项都有啥,以及我们需要修改什么,那么就是如何改的问题了

无论如何部署,核心都是运行 run.py 文件,他调用的是和自己同层的 fc_settings.yaml 文件

也就是说,我们需要修改真正运行的 run.py 文件旁边的配置文件

  • 对于 docker 部署方式来说,需要进到容器内部修改配置

  • 创建容器后,进入容器:

  • 进入 /home/fcircle_src/hexo_circle_of_friends 文件夹,修改其中的 fc_settings.yaml 文件,修改 LINK 为自己的链接

  • 其余配置项根据实际需求修改

  • 退出容器

手动运行服务 {#手动运行服务}

我们可以模拟 deploy.py 文件的行为手动运行服务

这样服务成功运行起来了,可以访问你的 IP:Port/friend API 查看爬下来的是不是你的朋友:

如果朋友认领成功,那么后端部署的道路已经通了

查看日志 {#查看日志}

如果过程中出现了令人不解的状况,可以查看日志

日志文件保存在/tmp/crawler.log为前缀的文件中,可以通过命令查看:

自动运行 {#自动运行}

当前的状况是需要手动运行 deploy.py 文件才能运行,不是随开机自动启动的,需要调整一下

docker 容器内创建启动服务脚本 {#docker-容器内创建启动服务脚本}

进入容器

/home/fcircle_src 创建启动脚本文件 setup.sh

这样在服务器(容器外)就可以通过 docker exec 命令启动这个脚本实现服务启动了

修改容器后可以通过 docker commit 命令保存配置于自启动脚本到 docker image

创建自动运行脚本 {#创建自动运行脚本}

/usr/local/friend-circle 文件夹下创建 friend_circle.sh 文件,内容为:

该脚本在创建容器后,可以复活容器并启动友链朋友圈服务

systemctl 添加服务 {#systemctl-添加服务}

添加 systemctl 服务随开机启动,创建 /lib/systemd/system/friend-circle.service 文件写入如下内容

配置 systemctl 开机启动 friend-circle 服务

之后重启服务器可以发现 友链朋友圈 服务已经启动,外部可以正常访问

nginx 反向代理 {#nginx-反向代理}

当前访问 IP 为 http 协议,需要反向代理成 https 用于博客使用

至此完成了 友链朋友圈 的后端部署。

参考资料 {#参考资料}



文章链接:
https://www.zywvvd.com/notes/hexo/website/43-yyyzyyyz-deploy/yyyzyyyz-deploy/

赞(0)
未经允许不得转载:工具盒子 » Hexo -43- 友链朋友圈 后端部署