自行搭建Tiny Tiny RSS服务
也许很多90后压根不知道RSS服务是啥,简单来说,你浏览器的收藏夹里面收藏了很多技术站点、个人博客,你平时会一个一个的点开,看看哪位博友更新了博文,但很多站点没有更新,你浪费了时间,而且这种一个一个点开网站的方法感觉很原始。所以有了RSS服务,RSS服务会每天(自己设定时间间隔)去把你收藏夹里面的网站都看一遍,有更新的话,就给你推送到手机或者电脑。
如果你已经有一个正常运行的基于wordpress程序的站点,要再搭建一个RSS服务将非常简单。本文讲解搭建tiny tiny RSS(下文简称TTR)的方法。
我们知道,一个php站点要跑起来,需要各种PHP模块的支撑,现在我们的wordpress站点已经跑起来了,所以我们已经安装的PHP模块如下:
然后我们去TTR官方查询其所需要的PHP模块,查询地址:https://tt-rss.org/wiki/PhpCompatibilityNotes
把所需要的模块跟上面的wordpress模块对比,发现少了Internationalization(intl)和 fileinfo
接着我们去当初安装php的源码目录里面执行命令:
./configure --help |egrep -i '(intl|fileinfo)'
[root@hqidi.com php-7.2.6]# ./configure --help |egrep -i '(intl|fileinfo)' --disable-fileinfo Disable fileinfo support --enable-intl Enable internationalization support
fileinfo的配置参数是--disable-fileinfo,说明这个参数默认是打开的,你配置的时候加了“--disable-fileinfo”,fileinfo模块才会被关闭,所以这个我们不用管。
intl的配置参数是--enable-intl,说明这个参数默认是关闭的,你配置的时候得特意加上“--enable-intl”,intel模块才会被启用。所以我们的重新配置PHP,在你原来配置参数的最后面加上“--enable-intl”重新配置PHP
若配置的时候有ICU相关的报错,请执行 yum install libicu-devel -y 后继续配置,配置好后正常进行编译和安装,安装后etc目录里面的配置文件不会被覆盖。
总结来说,在你的wordpress站点正常情况下,你得添加一个intl模块,才能把TTR正常跑起来,接下来开始安装tiny tiny RSS
用nginx为tiny tiny RSS新建一个站点
配置文件如下,没有启用https的自行删除相关配置
upstream php { server unix:/usr/local/php/var/run/php-fpm.sock; } server { listen 443 ssl http2; server_name feed.141421.net; ssl_certificate feed.141421.net.crt; ssl_certificate_key feed.141421.net.key; ssl_session_cache shared:SSL:1m; ssl_session_timeout 5m; root /data/rss; location / { index index.php index.htm; } location ~ \.php$ { include fastcgi.conf; fastcgi_intercept_errors on; fastcgi_pass php; } }
下载tiny tiny RSS 安装文件
为tiny tiny RSS新建一个数据库
登录到MySQL,执行如下命令
#新建一个名为ttrss的库 create database ttrss; #新建一个名为ttr的,密码为1Jdma!22 的用户,这个等下要用到 grant all on ttrss.* to 'ttr'@'localhost' identified by '1Jdma!22'; #刷新权限使刚刚新建的用户生效 flush privileges;
安装tiny tiny RSS
添加好域名解析后,直接访问https://feed.141421.net 进入网页安装界面
照着刚刚我们在数据库里面新建的用户信息填就行了,若点击“Text configuration”,提示2002错误,就把Host name 的那个框里面改为127.0.0.1,没错的话点击红色的“Initialize database”初始化数据库按钮,然后点击“Save configuration”保存配置,最后点击下图的链接登录
用户名admin 密码password,请马上更改密码。请记得在偏好设置里面勾选上“启用API”允许外部客户端通过 API 来访问该账户,这样手机客户端才能正常连接我们搭建的RSS服务。
使用tiny tiny RSS
➤RSS更新
就是你派遣你服务器上的PHP程序去你喜欢的各个网站上看有没有更新的文章,有的话就抓下来,推送给你。用crond来实现
执行 crontab -e -u www (这里的www是你用来跑php进程的用户,在php-fpm.conf里面配置的)
然后写入:
7 4 * * * /usr/local/php/bin/php /data/rss/update.php --feeds >>/tmp/rss.txt
意思是每天的凌晨4点过7分让php程序去检查你订阅的站点是否有更新。
➤快捷订阅插件
看到自己喜欢的网站,靠眼睛去找订阅链接太低效,这里推荐一个chrome插件 RSSHub Radar
插件效果:
➤Android客户端
Android客户端推荐使用TTRSS Reader,下载地址 https://www.lanzous.com/b0to7va
界面非常直观干净
文章页效果
您的设备不支持Google play服务
在APP内点击“偏好设置”→“SSL设置”,把“使用Providerinstaller服务”后面的勾选取消,这样就不会弹出“您的设备不支持Google play服务”的提示。其他APP遇到此类问题也可以依样解决,把谷歌相关的功能关掉。
➤iOS客户端
iOS客户端推荐大名鼎鼎的Reeder,售价30元RMB,无内购无订阅。不过我们得在服务端装个插件,Reeder才能正常连接上我们搭建的RSS服务。
这样插件就装好了,我们登录后台,偏好设置里面启用插件,然后设个密码就行了。
如图,先勾选上fever,然后点击下方的“Fever Emulation”设置一个密码。
手机上打开Reeder后,点击齿轮按钮→ Add Account → Fever
Server栏里面填:https://feed.141421.net/plugins.local/fever/
Email栏里面填: admin (也就是你登录TTRSS使用的账号)
Password里面填:你在上一步设置的密码
阅读体验非常舒适,跟Safari的阅读器视图一样,有些小年轻的博客口味独特,博客背景用js搞得花里花俏,一打开他博客人就眼晕,电脑CPU就咆哮,有了这个以后就没上面的问题了。
RSS全文输出
一些网站管理员为了自己站点的PV数据更好看或者其他的原因,在feed中只提供了文章的摘要内容,想要看全文得通过浏览器跳转到网站,非常麻烦。对于这样的RSS源,我们可以安装Mercury插件让Tiny Tiny RSS实现全文输出。
安装Mercury全文输出插件
cd /data/rss/plugins git clone https://github.com/WangQiru/mercury_fulltext.git
这样,Mercury插件就初步安装好了,此时我们得需要一个Mercury服务端,Mercury服务端搭建非常简单:
着重解释下最长的那一行命令:
-d 参数会让容器在后台运行。
--restart=always 在这里,这个参数的作用是:当服务器重启后,docker服务启动后,自动运行本容器。
--name 就是给容器起个名字,方便管理
-p 网上的教程都是“-p 3000:3000” 这样的话,容器内的3000端口会映射到本地的所有网卡上面,带来安全隐患的同时也有可能被别人蹭用。所以最好加上“127.0.0.1”
配置Mercury全文输出插件
启用插件
填写全文输出服务端地址
这里就是我刚刚说的蹭用问题,如果你启动容器的时候没加上“127.0.0.1”,别人可以填你的外网IP加3000端口,来使用你搭建的Mercury全文输出服务。
针对没有全文输出的信息源配置
附:
当你发现所有的订阅源都消失,此时,别慌,退出重新登录就正常了。
原创文章,转载请注明: 转载自笛声
本文链接地址: 自行搭建Tiny Tiny RSS服务