Files
RSSHub/docs/install
2018-05-29 22:58:21 +08:00
..
2018-05-29 22:58:21 +08:00

sidebar
sidebar
auto

部署

部署 RSSHub 非常简单,如果您在部署过程中遇到无法解决的问题请到 issues 寻找类似的问题或 向我们提问,我们会尽快给您答复。

手动部署

部署 RSSHub 最直接的方式,您可以按照以下步骤将 RSSHub 部署在您的 电脑、服务器或者其他任何地方。

在安装之前

在安装 RSSHub 之前,请确保您的电脑中已经安装了 GitNode.js >= 10.0

安装 Git

::: tip 提示

首先您应该输入 git,看看系统有没有安装 Git

windows 打开 cmd macOS 打开终端(terminal)

$ git
usage: git [--version] [--help] [-C <path>] [-c name=value]
...

:::

安装 Node.JS

Windows

Windows 用户请 下载安装程序。安装时,请勾选Add to PATH选项。

MacOS & Linux

安装 NodeJS 的最佳方式是使用 nvm

安装 nvm

$ curl https://raw.github.com/creationix/nvm/master/install.sh | sh

安装完成后,重启终端并执行下列命令即可安装 Node.js

$ nvm install node

安装 RSSHub

首先是下载 RSSHub 的源码,请执行下列命令。

$ git clone https://github.com/DIYgod/RSSHub.git
$ cd RSSHub

下载完成后,需要安装依赖。

$ npm install

::: tip 提示

推荐使用 Yarn Yarnnpm 更快更稳定。

使用 Yarn 安装依赖时只需要键入

$ yarn

由于众所周知的原因,在中国使用 npm 下载依赖十分缓慢,建议挂一个代理或者考虑使用 NPM 镜像

:::

启动

RSSHub 文件夹中运行下面的命令就可以启动。

$ npm start

在浏览器中打开 http://127.0.0.1:1200/enjoy it!

更新

RSSHub 文件夹中运行下面的命令就从 github 仓库拉取最新版本。

$ git pull

添加配置

可以通过修改 config.js 或者设置环境变量来配置 RSSHub。

如何设置环境变量

Windows 系统在 cmd.exe 中运行 $ set PORT=1000

macOS & Linux 运行 $ PORT=1000

再运行 $ npm start 启动 RSSHub 即可将监听端口设置为 1000

此处设置的环境变量在关闭终端后就会被清除,如果您想保存这些配置可以编写一个简单的 批处理文件shell

更多配置项请看 应用配置

使用 Redis 数据库缓存

RSSHub 默认会有 5 分钟的缓存默认这个缓存是存放在内存中的。RSSHub 还支持 Redis 数据库缓存。

::: tip 提示

除非流量特别大或者您需要建立分布式集群,否则不需要 Redis 缓存。

:::

安装 Redis

Windows

安装 Redis on Windows 直接下载安装程序

在安装目录中运行下面的命令启动 Redis。

$ redis-server  redis.windows.conf

MacOS

使用 Homebrew 安装 Redis。

$ brew install redis

再运行下面的命令启动 Redis。

$ brew services start redis

Linux

使用您的包管理器安装 Redis。

# apt
$ sudo apt install redis-server

# yum
$ sudo yum install redis

然后运行 $ redis-server 启动 Redis。

启用 Redis 数据库缓存

修改配置项 CACHE_TYPEredisRSSHub 将使用默认地址 redis://localhost:6379/ 连接 Redis如果需要修改地址请看 应用配置

部署到 Docker

Docker 属于 Linux 容器的一种封装,提供简单易用的容器使用接口。它是目前最流行的 Linux 容器解决方案。

安装 Docker

官方网站上有各种环境下的 安装指南

部署

运行下面的命令下载 RSSHub 镜像。

$ docker pull diygod/rsshub

然后运行 RSSHub 即可

$ docker run -d --name rsshub -p 1200:1200 diygod/rsshub

在浏览器中打开 http://127.0.0.1:1200/enjoy it!

您可以使用下面的命令来关闭 RSSHub。

$ docker stop rsshub

更新

您可以使用下面的命令来更新镜像。

# 先关闭 rsshub
$ docker stop rsshub

# 删除现有的容器
$ docker rm rsshub

# 下载最新版的 rsshub 镜像
$ docker pull diygod/rsshub

添加配置

配置运行在 docker 中的 RSSHub最便利的方法是使用环境变量。

以设置缓存时间为 1 小时举例,只需要在运行时增加参数:-e CACHE_EXPIRE=3600

$ docker run -d --name rsshub -p 1200:1200 -e CACHE_EXPIRE=3600 -e GITHUB_ACCESS_TOKEN=example diygod/rsshub

更多配置项请看 应用配置

使用 docker-compose 部署

docker-compose 是用来运行多容器 Docker 应用的小工具,可以简化配置部署过程:

  1. 创建 volume 持久化 Redis 缓存
$ docker volume create redis-data
  1. 修改 docker-compose.yml 中的 environment 进行配置

  2. 部署

$ docker-compose up
  1. 更新
$ docker-compose build
$ docker-compose up

部署到 Heroku

Deploy

部署到 Google App Engine

部署之前

Before you begin

按照这里的引导完成 GCP 账号设置,创建 GCP 项目,创建 App Engine 项目,开通付费功能(必须),安装 git 与 gcloud 工具。并完成 gcloud 工具的初始化,初始化具体方式请查看这个链接。如果你不打算在本地调试本项目,可以不安装 Node.js 环境。

请注意GAE 免费用量不支持 Flexible Environment ,部署前请确认收费标准。

拉取

运行 git clone https://github.com/DIYgod/RSSHub.git 拉取本项目的最新版本。

app.yaml 配置

在 RSSHub 项目根目录下建立一个 app.yaml 文件,内容示例如下:

# [START app_yaml]
runtime: custom
env: flex

# This sample incurs costs to run on the App Engine flexible environment.
# The settings below are to reduce costs during testing and are not appropriate
# for production use. For more information, see:
# https://cloud.google.com/appengine/docs/flexible/nodejs/configuring-your-app-with-app-yaml
manual_scaling:
  instances: 1
# 以下是 app engine 资源配置,可以自行修改,硬盘最低为 10G
resources:
  cpu: 1
  memory_gb: 0.5
  disk_size_gb: 10
network:
  forwarded_ports:
    - 80:1200
    - 443:1200
# 以下是环境配置示例,具体可配置项见本文档配置章节
env_variables:
  CACHE_EXPIRE: "300"
# [END app_yaml]

开始部署

在 RSSHub 项目根目录下运行

gcloud app deploy

进行项目部署,如果您需要变更 app.yaml 文件名称或者变更部署的项目 ID 或者指定版本号等,请参考这个链接的"Deploying a service" 部分。

部署完成后可访问您的 Google App Engine URL 查看部署情况。

配置

应用配置

可以通过修改 config.js 或者设置环境变量来配置 RSSHub。

::: tip 提示

建议通过设置环境变量来配置 RSSHub。避免版本更新时的冲突。

:::

PORT: 监听端口,默认为 1200

CACHE_TYPE: 缓存类型,可为 memoryredis,设为空可以禁止缓存,默认为 memory

CACHE_EXPIRE: 缓存过期时间,单位为秒,默认 300

LISTEN_INADDR_ANY: 是否允许公网连接,默认 1

REDIS_URL: Redis 连接地址memory 缓存类型时无效),默认为 redis://localhost:6379/

REDIS_PASSWORD: Redis 连接密码memory 缓存类型时无效)

部分 RSS 模块配置

  • pixiv: 注册地址

    • PIXIV_USERNAME: Pixiv 用户名

    • PIXIV_PASSWORD: Pixiv 密码

  • disqus: 申请地址

    • DISQUS_API_KEY: Disqus API
  • twitter: 申请地址

    • TWITTER_CONSUMER_KEY: Twitter Consumer Key

    • TWITTER_CONSUMER_SECRET: Twitter Consumer Secret

    • TWITTER_ACCESS_TOKEN: Twitter Access Token

    • TWITTER_ACCESS_TOKEN_SECRET: Twitter Access Token Secret

  • youtube: 申请地址

    • YOUTUBE_KEY: YouTube API Key
  • telegram: Telegram 机器人

    • TELEGRAM_TOKEN: Telegram 机器人 token
  • github: 申请地址

    • GITHUB_ACCESS_TOKEN: GitHub Access Token