用阿里云部署 Tiny Tiny RSS

实用性-阐述规则

This article was last updated on <span id="expire-date"></span> days ago, the information described in the article may be outdated.

准备资料

  1. 云服务器:阿里云服务器【本次使用】;vultr服务器
  2. SSH:xft6
  3. 控制台:Xshell
  4. 完成备案的域名

部署云服务器

利用阿里云部署服务器

以部署轻量应用服务器为例,部署步骤如下:

  1. 购买云服务器——入口:阿里云轻量应用服务器购买页面

  2. 选择服务器类型

    image-20201120140558560

  3. 配置云服务器部署位置、性能、时间等

    1. 选择部署位置

      image-20201120140726238

    2. 选择服务器系统镜像——以 CentOS7.3 为例

      image-20201120140810556

    3. 选择服务器性能套餐和系统盘容量

      image-20201120140914917

    4. 选择购买时长和数量

      image-20201120140933945

  4. 点击购买后自动开始部署

  5. 部署完成——部署完成的服务器可在服务器列表中找到

    image-20201120141204052

外部控制台与SSH 链接

链接到 Xshell

  1. 新建连接

    image-20201026204448895
  2. 设置名称和主机IP

    image-20201026204558268
  3. 在用户身份验证中设置用户名和密码

    image-20201026204720713
  4. 连接到云服务器

    image-20201026204815578
  5. 接受主机密钥

    image-20201026204901296
  6. 连接成功结果

    image-20201026204951395

连接到 xft6

  1. 新建连接

    image-20201026205137903
  2. 设置名称、主机IP、用户名与密码后确认

    image-20201029111626728
  3. 连接到云服务器

    image-20201026205443118
  4. 连接成功结构

    image-20201026205754075

配置云服务环境

安装 yum

安装和更新代码:

1
2
sudo yum install epel-release -y
sudo yum update -y

安装 Docker

  1. 一键安装 Docker
1
curl -fsSL https://get.docker.com/ | sh

实测该命令在CentOS 8上无法使用,需要手动安装

  1. 启动 Docker 服务
1
sudo systemctl start docker
  1. 检查一下 Docker 是否启动成功
1
sudo systemctl status dockersudo systemctl status docker

image-20201026211822324

Docker服务状态

参考资料:Get Docker Engine - Community for CentOS | Docker Documentation

安装 Docker-compose

由于 Tiny Tiny RSS 依赖有 PostgreSQL 的数据库服务以及 mercury_fulltext 的全文抓取服务等等,这些服务我们都借助于 Docker 部署,因此利用 Docker-compose 就会大大降低我们的部署难度。

  1. 安装 Docker-compose
1
curl -L https://github.com/docker/compose/releases/download/1.25.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
  1. 给予 Docker-compose 可执行权限
1
chmod +x /usr/local/bin/docker-compose
  1. 检查 Docker-compose 是否安装成功
1
docker-compose --version

image-20201026212358558

安装成功结果

安装 Tiny Tiny RSS 及其周边服务

安装 Tiny Tiny RSS与配置

  1. 下载由 Awesome-TTRSS 配置的 Tiny Tiny RSS 服务的 docker-compose 配置文件
1
2
3
4
5
# 创建 ttrss 目录并进入
mkdir ttrss && cd ttrss

# 利用 curl 下载 ttrss 的 docker-compose 配置文件至服务器
curl -fLo docker-compose.yml https://github.com/HenryQW/Awesome-TTRSS/raw/master/docker-compose.yml
  1. 修改 docker-compose.yml 里面的内容

    1. 进入文本编辑模式

      1. 使用 vi 进入文本编辑模式

        vi docker-compose.yml

      2. 点击 i 进入文字输入模式

    2. 修改文档

      image-20201026213306921

      TT-RSS的默认端口是181

    3. 保存退出

      1. 点击 Esc 进入命令模式
      2. 使用 :wq 保存文件并退出
    1. 将 PostgreSQL 数据库的默认密码进行修改
    2. 将 Tiny Tiny RSS 服务的部署网址修改——注意,如果你的部署 URL 包含端口(比如默认部署端口为 181 端口),那么这里的 URL 也需要加上端口号,格式为 {网址}:{端口}
  2. 启动 Tiny Tiny RSS 服务

    docker-compose up -d

  3. 查看脚本执行结果

    docker ps

    image-20201026213745532

    • Tiny Tiny RSS 本身,监听端口为 0.0.0.0:181 -> 80,同时暴露给外网
    • PostgreSQL 数据库,仅供内部使用
    • Mercury 全文抓取服务,仅供内部使用
    • OpenCC 简体、繁体中文转换服务,仅供内部使用
  4. 发现问题则执行以下代码修改

1
2
3
4
5
6
7
8
9
10
11
12
# 关闭 Docker 容器们
docker-compose down

# 删除已停止的 Docker 容器
docker-compose rm

# ……
# 修改 docker-compose 配置文件
# ……

# 再次开启 Docker 服务
docker-compose up -d

安装 Nginx 作为 Docker 容器的反向代理

  1. 使用 yum 安装 Nginx

    sudo yum install nginx

  2. 开启 Nginx 服务

    sudo systemctl start nginx

  3. 检查 Nginx 是否启动成功

    sudo systemctl status nginx

    image-20201026214923169

    如果事先安装了 Apache ,先用 sudo systemctl stop httpd.service 关闭 Apache 服务

签署 SSL 证书,部署 HTTPS

  1. 安装 certbot
1
sudo yum install certbot python2-certbot-nginx
  1. 运行 certbot 来签署 SSL 证书并自动配置 Nginx 服务
1
sudo certbot --nginx
  1. 在这里,certbot 会要求我们输入我们希望签署 SSL 证书的域名,我们选择为 Tiny Tiny RSS 分配的域名即可等待脚本执行完成后重启 Nginx 服务
1
sudo systemctl restart nginx
  1. 修改 Nginx 的配置文件,配置 Nginx 反向代理,将访问 https://www.zhuottrss.top 的请求指向我们刚刚部署好的 Tiny Tiny RSS 服务

Nginx 的配置文件位于 /etc/nginx/nginx.conf

  1. http 项下,server 项前定义 upstream 服务

image-20201120143633163

  1. 在刚刚 certbot 为我们生成好的响应域名 server 项下,注释掉第一行定义 root 的内容

image-20201120143952279

  1. 并将 location / 项修改为以下内容
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
location / {
proxy_redirect off;
proxy_pass http://ttrssdev;

proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Ssl on;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Frame-Options SAMEORIGIN;

client_max_body_size 100m;
client_body_buffer_size 128k;

proxy_buffer_size 4k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;
}

image-20201120144047551

  1. 再次执行 sudo systemctl restart nginx 重启 Nginx 服务,就可以在网站访问Tiny Tiny RSS 了

部署结果

  1. 登录Tiny Tiny RSS 的默认管理员账户密码

    Tiny Tiny RSS 的默认管理员账户密码

    账号:admin

    密码:password

  2. 部署结果

    image-20201120145557348

这种配置下的 Tiny Tiny RSS 包含了主题和各种常用插件,可以直接才偏好设置中选择开启而不需要额外配置。


参考资料: