18 10 月 2026
算法推荐的时代,"你想看什么"是平台决定的。RSS 是互联网最后的"订阅制"——你订的源、排序、历史,全在自己手里。FreshRSS 是 PHP 写的自托管阅读器,1核1G 能带几百个订阅源,这篇手把手搭。

一、为什么自托管一个 RSS 阅读器

痛点FreshRSS 怎么解
平台推荐算法喂屎只订阅你选的源,按时间线排列,没有"猜你喜欢"
稍后读工具收费/关停数据在自己库,服务自己运维,用十年
手机 App 各家封闭Fever API + Reeder/Reeader 等任意客户端接入
收藏的文章散落各处内置收藏 + 全文抓取 + 分享到网站

典型用户:技术博客读者、行业资讯跟踪者、把 newsletter 和博客统一管理的人。

二、部署:PHP + SQLite 最轻方案

1. 环境:Nginx + PHP 8.1+(需要 pdo_sqlite、curl、mbstring、json、gmp 扩展)。

2. 安装:

cd /www/wwwroot
# 官方 Docker 方式(最省心)
docker run -d --name freshrss \
  -p 8081:80 \
  -v /www/freshrss/data:/var/www/FreshRSS/data \
  freshrss/freshrss:latest

或传统方式(下载源码解压):

wget https://github.com/FreshRSS/FreshRSS/archive/refs/heads/latest.zip
unzip latest.zip -d rss && sudo chown -R www:www rss

3. Nginx 配置:

server {
    listen 443 ssl;
    server_name rss.yourdomain.com;

    root /www/wwwroot/rss/p;
    index index.php;

    ssl_certificate     /certs/rss.yourdomain.com.pem;
    ssl_certificate_key /certs/rss.yourdomain.com.key;

    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    location ~ \.php$ {
        fastcgi_pass unix:/run/php/php8.2-fpm.sock;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }

    # 定时抓取入口,建议加 Basic Auth 或只许本机访问
    location = /cron.php {
        auth_basic "rss cron";
        auth_basic_user_file /www/wwwroot/rss/.htpasswd;
    }
}

证书见免费 SSL 证书申请与 HTTPS 部署。

4. 初始化:访问域名 → 注册第一个账号(注册完可在配置里关掉公开注册)→ 语言选简体中文。

三、加订阅源:OPML 一键搬家

换阅读器最怕丢订阅。FreshRSS 支持 OPML 导入导出:

  • 导入:设置 → 订阅 → 导入 OPML 文件(从其他阅读器导出的)
  • 批量发现:直接喂网站首页 URL,FreshRSS 会自动发现 <link rel="alternate" type="application/rss+xml"> 标记

推荐订阅结构(按文件夹分组,几十个源也不会乱):

技术/   阮一峰、V2EX、HackerNews 中文、官方博客…
行业/   竞品动态、监管通知、数据报告…
个人/   独立博客、newsletter 源

四、自动抓取:cron 是灵魂

RSS 阅读器不主动抓取就等于死库。两种方式:

# 方式一:系统 cron(推荐),每 15 分钟抓一次
crontab -e
*/15 * * * * curl -s "https://rss.yourdomain.com/cron.php?cronKey=你的KEY" > /dev/null

# 方式二:FreshRSS 内置的简单定时(设置里开)

频率建议:15–30 分钟。抓太频浪费资源,抓太慢失去"阅读器"的意义。cron 配置细节见crontab 计划任务完全指南。

资源账:几百个源、15 分钟一轮,1核1G 完全无压力;但源里有大量全文抓取(curl 全文)时,CPU 会上去一截——2G 更稳。

五、手机端接入:Fever API

FreshRSS 原生支持 Fever API,这是 iOS 上最好用的 RSS 客户端(Reeder、Unread 等)通用协议:

  1. FreshRSS:设置 → 用户 → 开启 Fever API 权限
  2. 手机 App 里选"Fever"登录方式,填 https://rss.yourdomain.com + 账号密码
  3. 同步即通——手机体验和商业 App 没差别,但数据在自己库里

六、运维与数据

  • 备份:data/ 目录就是全部(SQLite + 配置 + 收藏),每周 rsync 异地一份,见rsync 同步与定时备份
  • 安全:关公开注册、开 HTTPS、cron.php 加认证——这个端点谁都能调的话,会被当成免费抓取代理用
  • 更新:FreshRSS 更新频繁,Docker 部署的话 docker compose pull && docker compose up -d 两条命令搞定
  • 订阅外泄检查:导入陌生来源的 OPML 前先看一眼,别把带恶意追踪的源请进来

结语

自托管 RSS 阅读器是"信息自主权"最实惠的实现:一个 1核1G 的小服务,换一个没有算法、没有信息流广告、不会关停的阅读环境。对信息摄入量大的人,这是性价比最高的一笔自建投资。

需要搭 RSS 服务器,可以看看财富云计算:NAT 型云服务器支持 443 映射,1核1G 起步够跑几百个源,SSD + 快照 + 自动备份,价格比独立 IP 机型省一半以上——轻量常驻服务,用 NAT 型最划算。

延伸阅读
  1. 网站环境怎么选:LNMP 手动 / 宝塔面板 / Docker / 云开发
  2. 问卷表单系统搭建:SurveyKing / Formbricks,数据自己收
  3. 图床搭建:Lsky Pro / Lychee,自托管图片托管方案
  4. 邮件列表搭建:listmonk 自托管 Newsletter,把读者握在自己手里
  5. 文档站点搭建:MkDocs / VuePress / Docsify,产品文档与技术手册方案
  6. 短链接服务搭建:Shlink 自托管,链接数据自己掌握
  7. 网站状态监控页搭建:Uptime Kuma,服务器挂了第一时间知道
  8. 自托管密码管理:Vaultwarden 部署实战,把全家的密码管起来
更多阅读
  1. 上一篇:短链接服务搭建:Shlink 自托管,链接数据自己掌握
  2. 下一篇:文档站点搭建:MkDocs / VuePress / Docsify,产品文档与技术手册方案
发表评论 1

取消回复