到现在,我部署的一些小服务

# 前言

我最近又捣鼓了一些API,契机是和筱锋的聊天。他部署了一个网易云音乐的API,我觉着很棒啊,于是我也部署了一个,然后就一发不可收拾了。 最终我打算水一篇文章聊以纪念。

# 网易云音乐API

库:网易云音乐API

# 简介

Nodejs 版 API

  • 具备登录接口,多达200多个接口
  • 非常完善的文档

{% note info:: 注意,本方法使用宝塔进行安装,非官方方法 %}

# 部署方法一 本地部署

# 新建目录

首先去新建一个目录,如 /neteasemusic ,用以运行该API。

# 下载文件

进入刚刚创建的文件夹,下载文件。

1
git clone https://github.com/Binaryify/NeteaseCloudMusicApi.git

由于我服务器在境内,所以我通过镜像站下载完后上传到了宝塔,并解压。 我将所有的文件剪切到了 /neteasemusic 中。

# 部署项目

# 添加项目

在宝塔中,依次点击 网站Node项目添加Node项目 来添加一个Node项目。

项目目录 选择刚刚新建的 /neteasemusic项目名称 随意,不要出现 . 之类的符号, 启动选项 选择自定义启动命令 ,输入 node app.js 项目端口 默认为 3000 Node版本 我选择的 14.17.6 是没有问题的。该API的需求是 NodeJS 8.12+ 环境 ,完全满足。

# 安装依赖

接下来选择 模块管理 ,点击一键安装项目模块来进行安装。可能有点慢,稍事等待即可。

# 启动项目

安装完模块后点击服务状态,点击启动即可启动项目啦。哦,对了,记得在宝塔和服务器的防火墙开启3000端口,这样就可以访问了。当然你也可以选择反代3000端口。

# 部署方法二 Vercel部署

  1. Fork 该项目
  2. 在 Vercel 官网点击 New Project
  3. 点击 Import Git Repository 并选择你 fork 的此项目并点击import
  4. 点击 PERSONAL ACCOUNT 的 select
  5. 直接点Continue
  6. PROJECT NAME自己填,FRAMEWORK PRESET 选 Other 然后直接点 Deploy 接着等部署完成即可

我部署的该API地址: 改为不对外提供。

# Github 图表

库:Github Readme Stats

官网API:github-readme-stats.vercel.app

# 特性

  • GitHub 统计卡片

  • GitHub 更多置顶

  • 热门语言卡片

  • 主题

  • 自定义

{% note info:: 注意,本API部署方式为Vercel,部分地区访问Vercel可能失败 %}

# 部署项目

  1. Fork该仓库,并将 vercel.json 中的 maxDuration 改成 10

  2. 在Github生成一枚PAT(Personal Access Token), 地址在 。选上repo 这个大项即可。复制并保存好这枚PAT。

  3. 登录Vercel的 仪表板 ,点击 New Project

  4. 在左侧的 Import Git Repository 中选择你刚刚Fork下来的仓库,点击 Import 即可。

  5. 在Vercel的导入页面,点开 Environment Variables ,在 NAME 下写一个 PAT_1 ,在Value 中填入你复制好的PAT的值。

  6. 点击 Deploy 等待一会即可,完成时Vercel会放烟花,还挺好看的。

  7. 在Vercel中绑定你的域名,即可用你的域名访问这个API啦!当然不绑定也有Vercel的域名提供给你使用。

我部署的该API地址:限制100QPS。 挂了。不会再提供服务了。

# MC API

库:A web service to fetch the status of a Minecraft server with caching

官网:Minecraft API

# 简介

一种获取或查询 Minecraft 服务器状态的简单方法。

{% note info:: 注意,本API部署方式为Docker %}

# 部署

# 环境搭建

虽然官网啥都没写,但是我知道这玩意儿要Redis。所以咱们要先安装Redis。

1
dnf install redis -y

启动Redis

1
systemctl start redis

相关命令

1
2
3
systemctl start redis #启动
systemctl stop redis #停止
systemctl status redis #查看 redis 状态

配置文件在 /etc/redis.conf

打开配置文件,将bind 的值改为 0.0.0.0 以让所有IP可以访问。你可以调整这项使得Redis更安全。你也可以加个密码上去,但是这样API主题程序就会访问失败。

# 安装

我是这样做的。可能有其他方法,比如自己编译一份二进制文件直接运行,我尝试了,但是失败了。

1
docker pull ghcr.io/syfaro/mcapi-rs:main

运行

1
docker run -e REDIS_SERVER=redis://127.0.0.1:6379 -e HTTP_HOST=0.0.0.0:8080 -p 8080:8080 ghcr.io/syfaro/mcapi-rs:main

虽然它的Readme.md 写的 HTTP_HOST 是默认监听 0.0.0.0:8080 ,但是实际是 127.0.0.1 所以我们需要添加这项参数。当然也有可能是我英语理解不到位。

完成。

我部署的该API地址: 我这个API突然炸了。

官网提供的API仍然是可用的。

# 一言

库:一言API框架

官网:Hitokoto - 一言

{% note info:: 注意,本方法使用宝塔进行安装,非官方方法,但是相差不大 %}

# 简介

这还需要简介吗。

动漫也好、小说也好、网络也好,不论在哪里,我们总会看到有那么一两个句子能穿透你的心。我们把这些句子汇聚起来,形成一言网络,以传递更多的感动。如果可以,我们希望我们没有停止服务的那一天。

简单来说,一言指的就是一句话,可以是动漫中的台词,也可以是网络上的各种小段子。 或是感动,或是开心,有或是单纯的回忆。来到这里,留下你所喜欢的那一句句话,与大家分享,这就是一言存在的目的。

截取自官方文档

# 环境搭建

这是需求:

  • Node.js >= 16.X (开发文档中要求 14 LTS)

  • Yarn >= 1.22.4

不支持 NPM, CNPM, PNPM 管理包依赖

# 安装

  1. 安装Redis

      [上文](/# 环境搭建)已经有详细步骤了,在此不再赘述。

  2. 克隆仓库:

    1
    
    git clone https://github.com/hitokoto-osc/hitokoto-api.git /www/wwwroot/your_workdirg
    
  3. 进入仓库 cd /www/wwwroot/your_workdir

  4. 安装依赖 yarn

  5. 复制配置 cp config.example.yml ./data/config.yml,根据需要对其进行配置。

  6. 试启动程序 yarn start -D

    当你看到类似这样一条时,意味着程序能成功运行:info: [core] Web Server is started, listening on port: 8000

  7. 宝塔添加项目

    • 宝塔安装 16.14.0 并选中

    • 项目端口为 8000

    • 启动命令换成 yarn start

    • 启动即可

官方API:v1.hitokoto.cn

# 云盘(Cloudreve)

库:Cloudreve

官网:Cloudreve

选Cloudreve是因为有直传。ZPan 也有直传,但是功能较为简单。

重新搞云盘的原因很简单,我一时冲动买了个1T的CDN流量包,想着用不完也是浪费,便把私人云盘重新支起来了。

{% note info:: 注意,本方法使用宝塔进行安装,非官方方法,但是相差不大 %}

# 部署

  • 下载

    Release 页面下载最新版。我服务器是Linux,所以下载的Linux版。

  • 上传

    你可以上传之后解压缩,也可以解压缩之后再上传,反正宝塔操作起来都很简单无脑。

  • 赋权

    到文件所在目录,赋予权限:

    1
    
    chmod +x ./cloudreve
    
  • 启动

    1
    
    ./cloudreve
    

    应当是成功运行的。

  • 持久化

    通过 Screen 来避免登出SSH服务就没了。

    1
    2
    3
    
    screen -S cloudreve
    
    # 在screen中
    

    按下 Ctrl + A + D 来挂起。这样直接关闭SSH也不要紧了。

不对外提供服务。因为我发现流量好像不太够花。

# 后记

氵完了,舒服多了。我并不清楚一些小事情是否拿的上台面来与大家讲,所以挑选了一些稍微有点用处的玩意儿写上,算是对这个月产出的一个交代。

哦,对了,以上所有服务都可以购买,即使是不对外提供的服务。价格比自建贵。价目表我还没做好,有时间再说。一般情况下我是不收取流量费的,除非用量真的大。

使用 Hugo 构建
主题 StackJimmy 设计