# 前言
我最近又捣鼓了一些API,契机是和筱锋的聊天。他部署了一个网易云音乐的API,我觉着很棒啊,于是我也部署了一个,然后就一发不可收拾了。 最终我打算水一篇文章聊以纪念。
# 网易云音乐API
库:网易云音乐API
# 简介
Nodejs 版 API
- 具备登录接口,多达200多个接口
- 非常完善的文档
{% note info:: 注意,本方法使用宝塔进行安装,非官方方法 %}
# 部署方法一 本地部署
# 新建目录
首先去新建一个目录,如 /neteasemusic
,用以运行该API。
# 下载文件
进入刚刚创建的文件夹,下载文件。
|
|
由于我服务器在境内,所以我通过镜像站下载完后上传到了宝塔,并解压。
我将所有的文件剪切到了 /neteasemusic
中。
# 部署项目
# 添加项目
在宝塔中,依次点击 网站
, Node项目
, 添加Node项目
来添加一个Node项目。
项目目录
选择刚刚新建的 /neteasemusic
,
项目名称
随意,不要出现 .
之类的符号,
启动选项
选择自定义启动命令
,输入 node app.js
项目端口
默认为 3000
Node版本
我选择的 14.17.6
是没有问题的。该API的需求是 NodeJS 8.12+ 环境
,完全满足。
# 安装依赖
接下来选择 模块管理
,点击一键安装项目模块
来进行安装。可能有点慢,稍事等待即可。
# 启动项目
安装完模块后点击服务状态
,点击启动
即可启动项目啦。哦,对了,记得在宝塔和服务器的防火墙开启3000端口,这样就可以访问了。当然你也可以选择反代3000端口。
# 部署方法二 Vercel部署
- Fork 该项目
- 在 Vercel 官网点击
New Project
- 点击
Import Git Repository
并选择你 fork 的此项目并点击import
- 点击
PERSONAL ACCOUNT
的select
- 直接点
Continue
PROJECT NAME
自己填,FRAMEWORK PRESET
选Other
然后直接点Deploy
接着等部署完成即可
我部署的该API地址: 改为不对外提供。
# Github 图表
官网API:github-readme-stats.vercel.app
# 特性
GitHub 统计卡片
GitHub 更多置顶
热门语言卡片
主题
自定义
{% note info:: 注意,本API部署方式为Vercel,部分地区访问Vercel可能失败 %}
# 部署项目
Fork该仓库,并将
vercel.json
中的maxDuration
改成10
。在Github生成一枚PAT(Personal Access Token), 地址在这 。选上
repo
这个大项即可。复制并保存好这枚PAT。登录Vercel的 仪表板 ,点击
New Project
。在左侧的
Import Git Repository
中选择你刚刚Fork下来的仓库,点击Import
即可。在Vercel的导入页面,点开
Environment Variables
,在NAME
下写一个PAT_1
,在Value
中填入你复制好的PAT的值。点击
Deploy
等待一会即可,完成时Vercel会放烟花,还挺好看的。在Vercel中绑定你的域名,即可用你的域名访问这个API啦!当然不绑定也有Vercel的域名提供给你使用。
我部署的该API地址:限制100QPS。
挂了。不会再提供服务了。
# MC API
库:A web service to fetch the status of a Minecraft server with caching
# 简介
一种获取或查询 Minecraft 服务器状态的简单方法。
{% note info:: 注意,本API部署方式为Docker %}
# 部署
# 环境搭建
虽然官网啥都没写,但是我知道这玩意儿要Redis。所以咱们要先安装Redis。
|
|
启动Redis
|
|
相关命令
|
|
配置文件在 /etc/redis.conf
。
打开配置文件,将bind
的值改为 0.0.0.0
以让所有IP可以访问。你可以调整这项使得Redis更安全。你也可以加个密码上去,但是这样API主题程序就会访问失败。
# 安装
我是这样做的。可能有其他方法,比如自己编译一份二进制文件直接运行,我尝试了,但是失败了。
|
|
运行
|
|
虽然它的Readme.md 写的 HTTP_HOST
是默认监听 0.0.0.0:8080
,但是实际是 127.0.0.1
所以我们需要添加这项参数。当然也有可能是我英语理解不到位。
完成。
我部署的该API地址: 我这个API突然炸了。
官网提供的API仍然是可用的。
# 一言
库:一言API框架
{% note info:: 注意,本方法使用宝塔进行安装,非官方方法,但是相差不大 %}
# 简介
这还需要简介吗。
动漫也好、小说也好、网络也好,不论在哪里,我们总会看到有那么一两个句子能穿透你的心。我们把这些句子汇聚起来,形成一言网络,以传递更多的感动。如果可以,我们希望我们没有停止服务的那一天。
简单来说,一言指的就是一句话,可以是动漫中的台词,也可以是网络上的各种小段子。 或是感动,或是开心,有或是单纯的回忆。来到这里,留下你所喜欢的那一句句话,与大家分享,这就是一言存在的目的。
截取自官方文档。
# 环境搭建
这是需求:
Node.js >= 16.X (开发文档中要求 14 LTS)
Yarn >= 1.22.4
不支持 NPM, CNPM, PNPM 管理包依赖
# 安装
安装
Redis
[上文](/# 环境搭建)已经有详细步骤了,在此不再赘述。
克隆仓库:
1
git clone https://github.com/hitokoto-osc/hitokoto-api.git /www/wwwroot/your_workdirg
进入仓库
cd /www/wwwroot/your_workdir
安装依赖
yarn
复制配置
cp config.example.yml ./data/config.yml
,根据需要对其进行配置。试启动程序
yarn start -D
当你看到类似这样一条时,意味着程序能成功运行:
info: [core] Web Server is started, listening on port: 8000
宝塔添加项目
宝塔安装
16.14.0
并选中项目端口为
8000
启动命令换成
yarn start
启动即可
官方API:v1.hitokoto.cn
# 云盘(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也不要紧了。
不对外提供服务。因为我发现流量好像不太够花。
# 后记
氵完了,舒服多了。我并不清楚一些小事情是否拿的上台面来与大家讲,所以挑选了一些稍微有点用处的玩意儿写上,算是对这个月产出的一个交代。
哦,对了,以上所有服务都可以购买,即使是不对外提供的服务。价格比自建贵。价目表我还没做好,有时间再说。一般情况下我是不收取流量费的,除非用量真的大。