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 rss3. 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;
}
}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 等)通用协议:
- FreshRSS:设置 → 用户 → 开启 Fever API 权限
- 手机 App 里选"Fever"登录方式,填
https://rss.yourdomain.com+ 账号密码 - 同步即通——手机体验和商业 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 型最划算。
延伸阅读
- 网站环境怎么选:LNMP 手动 / 宝塔面板 / Docker / 云开发
- 问卷表单系统搭建:SurveyKing / Formbricks,数据自己收
- 图床搭建:Lsky Pro / Lychee,自托管图片托管方案
- 邮件列表搭建:listmonk 自托管 Newsletter,把读者握在自己手里
- 文档站点搭建:MkDocs / VuePress / Docsify,产品文档与技术手册方案
- 短链接服务搭建:Shlink 自托管,链接数据自己掌握
- 网站状态监控页搭建:Uptime Kuma,服务器挂了第一时间知道
- 自托管密码管理:Vaultwarden 部署实战,把全家的密码管起来

[...]netsh advfirewall firewall add rule name="GameRange" dir=in action=allow protocol=UDP localport=26901-26903完整的 Windows 环境准备(远程桌面连接、运行库安装、SteamCMD 用法、开机自启、8 个常见坑)见:《Windows 云服务器开服通用前置教程》→ htt[...]
2026-10-18 回复