Total Pageviews

Thursday 30 June 2016

shiyanlou.com-接受it技术在线培训

https://www.shiyanlou.com

DNF是新一代的RPM软件包管理器

他首先出现在 Fedora 18 这个发行版中,最近取代了YUM正式成为包管理器,克服了YUM包管理器的一些瓶颈,提升了包括用户体验,内存占用,依赖分析,运行速度等多方面的内容。
查看 DNF 包管理器版本
# dnf –version
查看系统中可用的 DNF 软件库
# dnf repolist
查看系统中可用和不可用的所有的 DNF 软件库
# dnf repolist all
列出所有 RPM 包
用于列出用户系统上所有来自软件库的可用软件包和所有已经安装在系统上的软件包
# dnf list
列出所有安装了的 RPM 包
# dnf list installed
列出所有可供安装的 RPM 包
# dnf list available
搜索软件库中的 RPM 包
当不确切知道想要安装的软件的准确名称时,可以用该命令来搜索软件包。需要在”search”参数后面键入软件的部分名称来搜索
# dnf search nano
查找某一文件的提供者
当你想要查看是哪个软件包提供了系统中的某一文件时,可以使用这条命令
# dnf provides /bin/bash
查看软件包详情
# dnf info nano
安装软件包
系统将会自动安装对应的软件及其所需的所有依赖
# dnf install nano
升级软件包
# dnf update systemd
检查系统软件包的更新
该命令用于检查系统中所有软件包的更新
# dnf check-update
升级所有系统软件包
该命令用于升级系统中所有有可用升级的软件包
# dnf update
# dnf upgrade
删除软件包
删除系统中指定的软件包
# dnf remove nano
# dnf erase nano
删除无用孤立的软件包
当没有软件再依赖它们时,某一些用于解决特定软件依赖的软件包将会变得没有存在的意义,该命令就是用来自动移除这些没用的孤立软件包。
# dnf autoremove
删除缓存的无用软件包
在使用 DNF 的过程中,会因为各种原因在系统中残留各种过时的文件和未完成的编译工程,可以使用该命令来删除这些没用的垃圾文件。
# dnf clean all
获取有关某条命令的使用帮助
该命令用于获取有关某条命令的使用帮助(包括可用于该命令的参数和该命令的用途说明)
# dnf help clean
查看所有的 DNF 命令及其用途
# dnf help
查看 DNF 命令的执行历史
# dnf history
查看所有的软件包组
# dnf grouplist
安装一个软件包组
# dnf groupinstall ‘Educational Software’
升级一个软件包组中的软件包
# dnf groupupdate ‘Educational Software’
删除一个软件包组
# dnf groupremove ‘Educational Software’
从特定的软件包库安装特定的软件
# dnf –enablerepo=epel install phpmyadmin
更新软件包到最新的稳定发行版
# dnf distro-sync
重新安装特定软件包
# dnf reinstall nano
回滚某个特定软件的版本
该命令用于降低特定软件包的版本
# dnf downgrade acpi

后端技术荟萃

https://gold.xitu.io/explore/backend

三天搞定Python基础功

针对本科生和零基础的人设计的。所以高手们可以忽略的自然。不说多了,所有内容都在下边这三个链接里:

三天搞定Python基础功,Day 1基础篇

三天搞定Python基础功,Day 1基础篇

三天搞定Python基本功,Day 2科学计算篇

三天搞定Python基本功,Day 2科学计算篇

三天搞定Python基础功,Day 3统计入门篇

三天搞定Python基础功,Day 3统计入门篇

希望能对没有接触过编程,或者没有接触过Python的朋友有个参考.

留学之殇



南加州大学周围治安差,真的是不宜留学之大学。


出国留学最好是本科毕业后再过去比较合适,本科毕业后,已经是完全的成年人,相对成熟,更能适应纷繁的社会。

中国古代 10 个奇怪而惊人的皇帝



自公元前 221 年秦朝(Qin dynasty)建立到 1912 年清朝(Qing dynasty)灭亡,数百位皇帝统治过中国。其中大部分都是汉人,只有少数是蒙古人或满族人。有些是靠自己通过武力、谋权坐上龙椅,其他的则是通过继承获得皇位。

大多数皇帝都只在史册中留下淡淡的一笔,只有极少数皇帝能彻底改变历史。这些皇帝中,有些极具雄才大略,有些极度暴虐昏庸。下面列举几位惊人的皇帝。

1.妥欢贴木儿Temur

1271 年,成吉思汗(Genghis Khan)的孙子忽必烈建立元朝。从此,这个由蒙古族人建立的王朝统治了中国近一个世纪。虽然蒙古族皇帝采纳了一些汉人的习俗,没有完全废除汉人统治的传统,但他们实行的政策明显歧视汉人,偏袒蒙古人。

当时社会分为四个等级,蒙古人位于金字塔顶端,随后是像西亚穆斯林(West Asian Muslims)的色目人,再下来是北方的汉人,最底端是居住在南方的南人。蒙古人热衷于他们的文化认同,同汉人分而治之,甚至还在蒙古人和汉人之间颁布不同的法律法规。

政府歧视政策引起了许多汉人的不满,蒙古人统治一直不得民心。元朝统治者基本上都昏庸无能,妥欢帖木儿(Toghon Temur)更是把这一点诠释到了极致。

妥欢帖木儿仅 13 岁就继承了大统,过去几十年的元朝统治使中国日益衰落,面临着严重的经济危机和自然灾害,但比起这些,妥欢帖木儿却对性爱和佛教精神更感兴趣。他的子民因瘟疫饥饿死去时,他却在紫禁城里醉生梦死,穿扮成佛教教士的模样,还举办大量的淫乱活动。

国内反抗运动风起云涌时,妥欢帖木儿和丞相有了一个令人匪人所思的想法: 凡姓张、王、刘、李、赵者,格杀勿论。这是中国的五大常见姓氏,90% 的中国人都惨死于这荒谬残暴的想法(杂志君注:这显然是错误的)。直到 1368 年,朱元璋(Zhu Yuanzhang)领导的起义军攻占了大部分城池,妥欢帖木儿才逃离皇宫,到蒙古(Mongolia)避难,死于 1370 年。


2.朱元璋

元朝末位皇帝退位的同一年,起义军领导人朱元璋宣布明朝(Ming dynasty)建立,年号洪武(Hongwu)。这位新皇帝丑陋,坚忍,且多疑。

朱元璋的早年生活极其艰苦。16 岁时,他成了孤儿,便皈依佛门做了僧人,四处游荡,以乞讨为生。化缘到家乡安徽省时,他亲眼目睹普通老百姓在蒙古人统治下饥肠辘辘,痛苦不堪。1352 年,朱元璋加入了一支起义军,并迅速成为其领导人,于 1368 年攻占了元大都(Mongol capital of Daidu,现北京)。

朱元璋当政之后,铲除了蒙古人余党,集中力量重建汉族文化。1369 年,他在全国范围内建起了公立学校,让学生学习中国古典书籍。后来,他又重建了象征中国文化的官僚行政官员考试制度,该制度早前曾为蒙古统治者所废除。同时,他也改革了税收制度,并于1398 年去世之前,留下了一部影响深远的法典。

杂志君注:即《大明律》,该律是中国封建法典中比较成熟的一部法典,朱元璋之子朱棣主持编写的《永乐大典》也同样牛逼,系当时最牛最牛的百科全书。朱家的历史相当有趣,你们可以看看《明朝那些事儿》。

朱元璋虽然在统治时期取得了一些成就,但世人对他的评价仍颇具争议。支持他的历史学家赞扬他推翻了元朝的统治,反对他的历史学家则批评他改革无效,生性多疑,手段残忍。如果有人敢说他坏话,会在公堂上公然处以杖刑,有时甚至还会直接处以死刑。

朱元璋对官员也是颇多猜疑,总担心有一天会被推翻。1380 年时,宰相胡惟庸密谋篡权的事暴露后,朱元璋当即决定处死胡惟庸并废除宰相制度,接着,朱元璋发疯般地对胡惟庸满门抄斩,又杀掉了他觉得可能造反的人,这次屠杀波及约 10 万人。

3.王莽

毛泽东建立中华人民共和国的 1900 年前,中国第一位“社会主义”皇帝——王莽(Wang Mang),从幼年的皇帝手里夺权篡位,于公元 9 世纪建立了新王朝。王莽是一位充满野心和社会意识的改革者,出台了一系列政策,后世历史学家认为其具有社会主义色彩。

为了改善中国落后的经济状况,解救贫苦农民,王莽将所有土地收归国有,命令地主平均分配其土地。同时,国家干预物价,禁止奴隶贸易,没收贵族财产以削弱其力量。

毫无疑问,这些政策遭到了国家富商和贵族的反对。改革反而恶化了经济状况,国内经济危机不断。8 年后王莽叫停了这些措施,但为时已晚。当时内战爆发,社会精英,甚至连他曾尽力想帮助的农民都起义反抗他。

公元 23 年秋,王莽意识到自己命数已矣。起义军攻至首都长安(现西安)时,王莽逗留在大殿中,与道士交谈,尝试作法求变。同年10 月 7 日,起义军攻占长安,捣毁其宫殿。他们砍下王莽的头,将其分尸,到此,新王朝第一位也是最后一位皇帝葬送坟墓。

4.唐玄宗李隆基

唐玄宗(Xuanzong)在位的 43 年期间可谓是唐朝发展的全盛时期(618-907),在中国历史中,这段时期因美妙的唐诗和都城文化而著名。但众所周知,玄宗在位期间并非持续繁荣,他统治的后期反而是唐朝衰落的开端。
杂志君注:李隆基统治时代称为“开元盛世”,它与历史上的“汉武盛世”、“康乾盛世”被称为中国历史上的三大盛世,这三个时代在当时的世界上比现今美国之于全球都要牛逼的太多。下一段关于杨贵妃的描述恐怕不太准确。

玄宗在位期间,统治才能十分杰出。712 年继承皇位之后,他作了许多成功的改革,废除了膨胀的官僚制度,外调节度使统领边境。玄宗晚年无心为政。他大部分时间都和杨贵妃(Yang Guifei)在一起调情,这个女人原来还是他儿子的妻子。杨贵妃常对君王吹枕边风,扶助家人朋友上位,并帮助她哥哥杨国忠(Yang Guozhong)做上宰相的位子,她的养子安禄山(An Lushan)也位列军政总督。


到 755 年,安禄山和杨国忠政见不合,安禄山起兵造反,欲推翻唐王朝统治。反军逼至首都长安时,玄宗和杨贵妃不得不弃都而逃。逃至一个小村庄时,军队停止不前,要求玄宗杀掉杨贵妃和杨国忠,声称他们造成了安禄山造反。

面对手下军队的叛变,玄宗无路可退。后续的发展,历史记录不明,杨贵妃可能是自愿上吊的,也可能是被军队掐死的。玄宗因爱人之死从此一蹶不振,他退位后,把安禄山造反这个烂摊子扔给他儿子收拾。

5.建文帝朱允炆

1398 年,洪武帝的皇太孙朱允炆继承皇位,成为明朝第二位皇帝。朱允炆继位后,削藩策迅速,削减了他几位叔叔的权力,这使他们极为恼怒。叔叔朱棣(Zhu Di)是一位著名军事家,此前一直帮助驱赶蒙古人,削藩实行后,他夺取了北部大权,后又设法夺下其他地区。

叔侄俩的战争持续了 3 年,朱棣及他的党羽终于于 1402 年一举拿下首都南京。尽管都城轻易瓦解,但朱棣迎来了另一个问题:在战争过程中,朱允炆的寝宫遭到毁灭,其尸首下落不明。朱棣宣称,他的侄子意外死于宫廷大火,但其他人相信建文帝成功逃走并离开了大明……

建文帝死于火中的消息传出去4 天后,朱棣宣布登基,年号永乐(Yongle)。明成祖想完全抹去建文帝的痕迹,重写史书,把他自己改写成朱元璋的合法继承人。同时,他血洗了南部地区,彻底剿灭了前任皇帝的余党。

尽管官方宣布朱允炆已死,明成祖心里还是疑惑重重。1405 年,他派一人胡濙在大陆寻找,另一人则远下西洋探寻朱允炆的下落。而这个人便是郑和(Zheng He),郑和同学是首位探索世界的中国人。1405 到 1433 年,郑奉明成祖令进行七次航行,史称“郑和下西洋”,总航程达七万多海里,足绕地球三周有余;传说中比西方发现好望角、哥伦布发现美洲新大陆,早了七、八十年,是当时人类史上最庞大的远航船队,《郑和航海图》是世界现存最早的航图集。

而最后据说胡濙找到了朱允炆的下落,具体是怎么样的就谁也不知道了~


6.正德皇帝朱厚照

除去他奢侈无度和令人震惊的生活方式,正德帝 明武宗几乎没给人留下什么印象。在宠臣江彬(Jiang Bin)的怂恿下,正德帝强抢民女,沉迷女色。

这有一件见不得光的事:平定了藩王叛乱后,正德帝和士兵们途经扬州(Yangzhou)时强暴了无数少女和寡妇。有位历史学家称,“他的暴行使全城陷入了恐慌,家家户户都想赶紧抓个男人把自家女儿嫁出去”。

正德帝劫掳的女人多到后宫竟没有她们的容身之所。他将“豹房”(Leopard Quarter)作为第二宫殿,里面有一座动物园,他在那里虚度过许多时光。正德帝荒淫无道,甚至还有传言说他与宦官王卫(Wang Wei)是同性恋。

1520 年秋时,29 岁的正德帝因意外翻船掉入水中,差点淹死,这之后他就病了,没再好起来。几个月后,正德帝在豹房的安乐中殡天。正德帝在位期间可能没有什么实际的成就,但他死后,其极其鲜明的个性和自由精神在众多文学作品中被称道。

7.明世宗朱厚熜

中国许多皇帝在皇族或乱党的刺杀中幸免于难,而只有一位差点被他的宫女杀害。他就是嘉靖皇帝(Emperor Jiajing),正德(Zhengde)的继承人,从 1521 年到 1567 年在位。即使他在位期间天下长治久安,嘉靖也是一个性情残暴的人。1542 年, 嘉靖的一群宫女决定结束他的暴行

同年 11 月27日,嘉靖帝正独自在某位妃子宫殿中睡觉时,18 个宫女突然冲上来袭击皇帝。几个宫女用发簪刺入嘉靖帝的胯部,其她宫女则用丝罗缎缠住其脖子,试图勒死他。嘉靖帝慢慢地失去了意识,但因为宫女勒他时力度不够,所以他并没有死。

嘉靖帝昏迷时,方皇后立即下令将这些宫女们斩首。嘉靖帝与死神擦肩而过苏醒过来后 ,即搬出了皇宫,在先皇的“豹房”附近建了一座宫殿,于此修炼道术。此后 25 年间嘉靖帝不理朝政,一心沉迷于女色,日日喝体液制成的“魔法”药水。

8.武则天

在中国 2000 多年的帝制历史中,武则天是唯一一位女皇帝。武则天刚入宫时只不过是一个身份低微的才人,后因她设计把自己婴儿大的长女杀死,才当上了皇后。武则天的女儿才出生一周,她就亲手把女儿给掐死,并嫁祸于唐高宗的妻子王皇后。因为王皇后经常单独去看望这个小公主,所以高宗轻易就相信了武则天的指控,并废后。

655 年,在朝廷的一片反对声之中,武则天成为皇后。她上位的第一步就是解决王皇后和以前的对手萧淑妃,萧淑妃也曾觊觎过皇后之位。武则天心狠手辣,砍掉她们的手脚后,又将其扔入酒罐中,将其活活淹死。

随后几十年中,武则天不断巩固自己的权利,垂帘听政。直到 690 年,那时高宗去世已有一段时间,武后强迫其儿子退位,才正式成为皇帝。

虽然历史学家一般都认为武则天残忍暴虐,但近年来她名声有所改善。武则天统治期间社会安定,她改革了科举制,在全国范围内设置了铜匦(即我国最早的意见箱),让平民也能举报政府官员。但是,武则天的残忍性格使之树敌众多,705 年,其子之一发动政变,武则天不得已,退位。

9.明光宗朱常洛

1620 年,仅在位一个多月的朱常洛驾崩了,据说这是明朝最大的疑案之一。1620 年 8 月 28 日,朱常洛登基,但是才过了几天,他就突发疾病。不到两周,他就虚弱到走不了路也睡不着觉。

到 9 月 25 日, 朱常洛绝望到病急乱投医。这时,13 名官员向皇帝举荐了李可灼(Li Keshao),他向朱常洛进献了一颗特制红药丸。服用了李可灼的药丸后,皇帝奇迹般地开始好转了。他可以再次入眠,胃口也恢复了。到那天晚上,朱常洛病情复发,于是又给他服用了一颗红丸。但这次服药未能改善其病情,清晨皇帝就驾崩了。

朱常洛猝死,廷臣议论纷纷。有人说皇帝是被阴谋害死的,朱常洛去世前一天,去探望他的李可灼和那 13 位官员就是罪魁祸首。说来也奇怪,李可灼甚至没经过真正的医疗训练,居然能向皇帝进献神秘的红药丸。

不久,真相大白。朱常洛刚得病时,有一名太监给他进了泻药。也有传言说先皇的郑贵妃故意给他进献 8 名宫女,使之身体状况恶化。据说,郑贵妃想做皇后,所以她串通另一名妃子,与某些想谋权的官员相勾结谋害皇帝。朱常洛是否死于李可灼之红丸,是意外死亡还是有人故意为之,这仍是一个未解之谜。

10.宣统溥仪

宣统帝是中国古代最后一位皇帝,大家更熟悉的是他本人的名字亨利溥仪。1908 年 11 月,3岁的溥仪在伯父光绪殡天后继位。溥仪的满清(the Manchu-led Qing)王朝,此时每况日下。1911 年 10 月,民主革命爆发,几个月后,作为议和的条件之一,溥仪退位。此时 2000 多年的君主专制结束了~

溥仪没有实权,但宣统帝的称号还是保留了下来。除了 1917 年间为期 12 天的复辟帝制,溥仪的生活很平静,直到 1924 年他被迫搬迁到天津市(the city of Tianjin)。在此期间,天津被划分为各国租界,1931 年前溥仪一直住在日本租界。

到 1932 年,日本占领了溥仪满族祖先的家园-满洲。日本邀请溥仪出任他们建立的傀儡国家的“执政”,现在称为满洲国(Manchukuo)。掌权两年后,溥仪成为满洲国的皇帝, 此举激怒了他先前的中国国民。

第二次世界大战(World War II)结束后,苏军(the Soviets)俘虏了溥仪,将他囚禁在苏联五年。溥仪害怕回到中国,因为大家认为他是一个帮助日本的战犯,但苏联当局拒绝了他永远留在当地的请求。

1950 年,苏联将溥仪遣返中国,他在监狱里待了将近十年。被特赦后,溥仪在北京植物园(Beijing Botanical Garden)当园丁。他在这个岗位上平静度过余生,发表了一部代撰的自传,1967 年死于癌症。

from http://www.qian10.net/2016/06/12/25307 ,
翻译自http://listverse.com/2016/05/16/10-bizarre-and-fascinating-chinese-emperors/

搭建自己的RSS订阅服务器-Tiny Tiny RSS

此前国内外最受欢迎的 RSS 订阅服务 Google Reader,但 Google Reader 已经停止服务近两年了…尔后网友们开始使用其他的一些替代服务,一般常规的有这三类:

浏览器自带订阅功能(遨游、Safari、搜狗等均支持,Chorme 需要扩展支持)
在线 RSS 订阅服务(鲜果、QQ 阅读、有道阅读、豆瓣九点、Feedly、Inoreader等)
本地客户端(Foxmail、FeedDemon、GreatNews、Reeder)

小编本人此前一直使用的是 Foxmail,毫无疑问:Foxmail 是当下最好用的本地邮件客户端,同时其 RSS 功能也挺好用的…但其弊端也是显而易见的:1、无法实现云同步;2、订阅源过多时慢、卡。因此小编我决定抛弃它……

QQ 阅读和有道阅读以前用过,官方无人维护,体验比较差。而鲜果阅读前面爆出新闻也停止了 RSS 的更新,所以最后我开始尝试使用大名鼎鼎的 Feedly,这里发现一个巨大的问题:需要翻墙!


结合 Foxmail 的弊端 1,自然是不会用 Feedly 了,最后我深度体验了下 Inoreader,总的来说还是很好用的,界面清爽,功能够足,但是很慢!(BTW,Inoreader 上有几十个用户订阅了 Finle)无奈,我就只好自己动手了!

查阅了不少资料,经过个人喜好对比以及建设难易程度,最终选择了利用 Tiny Tiny RSS 建立自己的 RSS 订阅服务,从此你可随心所欲的还常阅读啦~

Tiny Tiny RSS 是一个非常优秀的国外 RSS 聚合程序,多语言支持(含中文),自 Google Reader 关闭后因其标题和内容的搜索、导入导出、条目加星等像极Google Reader,被不少的博主推荐为 Google Reader 的替代品。

实际使用了 Tiny Tiny RSS 后,确实感觉不错,全站 Ajax,阅读起来非常地方便,阅读可以选择全文或者列表,标记、近期阅读等也很实用。Tiny Tiny RSS 最大的优势就是可以自定义 RSS 更新时间,也可以手动立即更新,更快地获取信息。

1、环境要求

Tiny Tiny RSS 要求 PHP 5.3以上,函数必须有 JSON 、mbstring,可选的是 CURL、posix 、GD,数据库支持 PostgreSQL 或者 MySQL 。

2、程序下载

直接去 Tiny Tiny RSS 下载官方最新版:http://tt-rss.org/redmine/projects/tt-rss/wiki

3、环境准备

如果你是 WordPress 用户,那么这应该不难的。在你的 VPS 下新建个 FTP,如名为 RSS;在你的面板或 Phpmyadmin 新建一个数据库(UTF-8),如名为 RSS;然后是新建网站(具体情况结合你自身用的系统)、域名绑定及解析;然后结合 1 开始安装了~

4、程序安装

压缩包解压后,直接在浏览器输入 your_domain.com/install ,输入数据库相关信息,提交自检,若正确无误则点击“初始化按钮”.

此时已经生成最初的配置文件了(config.php),如果你的虚拟主机可写,那么直接 Save Configuration 下一步,如果不行的话那么就手动保存然后上传替换掉该文件,继续下一步则跳转到登陆地址了,输入默认的用户名/密码即可使用了(admin/password)。


5、使用

没什么可说的,中文嘛,大家都看得懂~~直接点上面的链接体验就 OK 了,可以随意添加订阅源,也可以进入 Preference 查看可选设置。

值得一提的是 Tiny Tiny Rss 的更新,根据相关资料并设定我最终仍不太确定我自己使用的这个有没有成功设定为自动更新,无法只能使用其简易更新模式(谁让我不懂 Linux 呢!)

define('SIMPLE_UPDATE_MODE', true); //这个值默认为 false
开启这个选项后,只要用户登陆 Tiny Tiny Rss 后,它就会自动更新.

5、后续

多说无益,还不如你自己体验体验,请不要随便更改设置…不然其他同学就没法测试了。从测试中你可能已经发现了:Tiny Tiny RSS 和此前的 Google Reader非常类似,同时它也支持多用户,那么如果你和你的小伙伴们都需要 RSS 服务的话,那么不妨架设一台专门的 TTRss 服务器以便自己用(记得修改下 CSS,参考我的第一张图,因为 外文字体对中文支持实在太差).
----------------------

RSS是一种将用户订阅的内容传送给他们的通讯协同格式(Protocol),它是新闻网站、博客等信息发送的重要渠道,同时也是用户用来跟踪自己感兴趣主题的快捷方式。虽然随着最近几年新媒体的不断发展,RSS似乎走向没落了,但是并代表RSS已经到了尽头。
谷歌单方面停止了自己的RSS阅读器Google Reader,引起非常多的RSS忠实用户不满,也同时给信赖RSS来获取信息的人带极大的不便。不少人在指责Google这种不顾用户需要而一味追寻公司新产品目标的同时,迫于无奈而选择了其它的RSS阅读器。
国内的第三方RSS阅读器也有不少,但是近几年来都基本上处于停滞状态,例如QQ邮箱的阅读空间在刚刚推出时各种新奇的功能层出不穷,而用了这么多年现在看来几乎没有人管它了,虽然还能够正常使用,但终未来终归是一个未知数。
前一段时间突然发现自己用的RSS在线阅读器不能正常获取RSS更新了,从我的正常工作带来非常大的麻烦。虽然后来又恢复了更新,但是这个事件也告诉我赶紧找一个靠谱的RSS在线阅读器。于是Tiny Tiny RSS这个自己搭建在线RSS的阅读器程序映入视野了。
Tiny Tiny RSS 是一个非常优秀的国外RSS聚合程序,有中文,自Google Reader关闭后因其标题和内容的搜索、导入导出、条目加星等像极Google Reader,被不少的博主推荐为Google Reader的替代品。
实际使用了Tiny Tiny RSS后,确实感觉不错,全站Ajax,阅读起来非常地方便,阅读可以选择全文或者列表,标记、近期阅读等也很实用。Tiny Tiny RSS最大的优势就是可以自定义RSS更新时间,也可以手动立即更新,更快地获取信息。
本文就来介绍一下用Tiny Tiny RSS搭建RSS阅读器的方法.

一、Tiny Tiny RSS 安装方法
1、官方网站:https://tt-rss.org/redmine/projects/tt-rss/wiki
2、Tiny Tiny RSS 要求PHP 5.3以上,函数必须有JSON 、mbstring,可选的是 CURL、posix 、GD,数据库支持PostgreSQL 或者 MySQL 。
3、下载Tiny Tiny RSS ,然后将程序上传到空间上,进入https://域名.com/install/,可以看到安装界面。填写你的数据库账号、密码等信息。

4、Tiny Tiny RSS 会先检测你的数据库和服务器是否符合安装要求。

5、接着Tiny Tiny RSS 会自动生成config.php文件,如果没有自动生成,你可以手动复制放在config.php文件中上传到服务器中。

6、Tiny Tiny RSS 对部分文件夹要求是777属性,你可以根据提示来修改。

7、待数据库和文件属性检测通过后,你就可以填写你的Tiny Tiny RSS 管理员账号和密码,提交,至此安装完成。

二、Tiny Tiny RSS 设置和添加订阅
1、登录到Tiny Tiny RSS 后,偏好设置(preference)里面包括了所有Tiny Tiny RSS 可以设置的选项。

2、在Tiny Tiny RSS 的用户管理中可以添加新的用户,也可以修改用户的密码。

3、在“订阅信息源”中可以添加你的RSS订阅地址。

4、如果想批量导入和导出opml文件,点击“更多信息源”。

5、在订阅源设置中可以指定RSS更新的频率。

6、也能指定文章清理的时间间隔。

三、Tiny Tiny RSS 使用体验
1、这就是Tiny Tiny RSS 在线RSS阅读器的界面,很像Google Reader。(点击放大)

2、可以对订阅的文章进行收藏。

3、遇到好的文章还可以添加标记。

4、在RSS阅读界面最上方有锁定选择未读、加星标、标记已读、删除等操作按钮。

5、常用操作中还有自动适应等。

6、在左边还有近期阅读,方便你查看最近查阅的内容。

7、Tiny Tiny RSS 还提供了一个Android APP,方便你在手机上使用Tiny Tiny RSS ,应用下载:https://play.google.com/store/apps/details?id=org.fox.ttrss

四、Tiny Tiny RSS 更新RSS
1、Tiny Tiny RSS 简单更新模式。在config.php中将SIMPLE_UPDATE_MODE设置为true ,这样每次打开Tiny Tiny RSS 就可以开始更新RSS订阅了。

2、VPS服务器更新Tiny Tiny RSS 。使用非Root用户,登录客户端,然后执行 php ./update.php --daemon。其中 daemon是参数,执行单进程。其它的参数说明如下:
--feeds - 更新 feeds
--feedbrowser - 更新 feedbrowser
--task N - 创建 lockfile
--cleanup-tags - 执行标签数据维护
--force-update - 强制所有更新
--update_self - 升级程序

3、要想成功执行PHP,你需要在config.php中PHP_EXECUTABLE设置好PHP的路径:/usr/bin/php

4、使用定时任务更新Tiny Tiny RSS 。一般的如Cpanel面板都会支持添加自定义定时任务,如果使用VPS,则可以直接编辑crontab -e ,然后添加以下内容保存。
*/30 * * * * /usr/bin/php /home/user/public_html/tt-rss/update.php --feeds --quiet

5、注意public_html/tt-rss/update.php是你的Tiny Tiny RSS 的绝对路径,你需要根据自己的需要修改。*/30 * * * *表示每隔30分钟更新一次,你可以自己改成其它的。

五、Tiny Tiny RSS使用小结
1、Tiny Tiny RSS总得来说不错,功能也在不断地完善当中,虽然现在已经有不少人不再通过RSS的方式来获取信息,但是对于那些重度依赖RSS的朋友,使用Tiny Tiny RSS是一个非常好的方法。
2、Tiny Tiny RSS更新RSS非常地及时,比起那些第三方的RSS在线阅读器来说,可能需要自己花钱购买空间或者服务器来运行Tiny Tiny RSS,Tiny Tiny RSS支持用户注册,可用于多人合用.
--------------

用Tiny Tiny RSS 搭建自己的rss订阅网站


因为我的vps上已经部署了LNMP的环境,所以,我只需要将Tiny Tiny RSS的网站源码上传到网站根目录,配置下数据库和域名就可以使用了。以下是我的步骤(图书馆有无线网,所以花了点时间用手机+vxconnectbox+Terminal IDE,在vps上搭建网站,果然手机还是输入麻烦,有个无限键盘就爽死了)。

第一步:先到DNS商那里添加个二级域名,我这里用的A记录,指向我的vps。我用的是DNSPod的服务,所以,我先去dnspod那里添加我为rss网站设定的二级域名——rss.ksharpdau.info。

第二步:在vps的lnmp下新建一个nginx的虚拟机,添加一个名为rss/的目录作为rss网站的根目录,这个根据自己的情况设定。然后将这个网站根目录与刚才添加的二级域名(即rss.ksharpdau.info)绑定好。

第三步:新建一个数据库,tiny tiny rss支持两种数据库:mysql和postgresql。我用的是mysql,我这里新建一个叫做rss的数据库。创建的方法大家自己选,不熟悉的可以用phpmyadmin,熟悉的就直接用mysql命令吧,

Mysql> CREATE DATABASE rss; //在登陆mysql后输入一下命令创建数据库

注意:其实,tiny rss 不一定要单独创建一个数据库,他也可以和别的网站共享数据库,但是为了方便管理,我们最好单独创建一个,毕竟rss订阅的数据量还是很大的。

第四步:到Tiny Tiny rss 官网地址:http://tt-rss.org下载网站程序源码,地址为:https://github.com/gothfox/Tiny-Tiny-RSS/archive/1.9.tar.gz

#wget –c https://github.com/gothfox/Tiny-Tiny-RSS/archive/1.9.tar.gz

将下载的网站源码包Tiny-Tiny-RSS-1.X.X.tar.gz复制到网站的根目录,我这里就是我创建的rss/目录。

a. 解压网站源码包,命令如下:

#tar zxfv Tiny-Tiny-RSS-1.X.X.tar.gz

b. 进入解压后的Tiny-Tiny-RSS-1.X.X/目录,将里面的所有文件拷贝到网站根目录,命令如下:

#cd Tiny-Tiny-RSS-1.X.X/ //进入刚刚解压的Tiny-Tiny-RSS-1.X.X/目录

#cp –Rp * rss/ //这里根据自己的根目录的绝对路径来写,我这里假设我的根目录就是rss/

c.用浏览器打开,rss.ksharpdau.info,就会看到网站的安装界面,要求你填入数据库名称,数据库用户名,数据库密码等。正确输入后,确认,就会自动安装。

注意:安装的时候,会有部分文件的权限要求,比如说cache目录下的一些文件夹要求777权限,我们根据提示来设定就可以了。

d.会提示你是否初始化数据库,我这里选择是,然后一切都装好了。清除浏览器换从,重新打开rss.ksharpdau.info,然后就会看到网站的登陆界面,默认账号是:admin,密码是password。

f.然后进偏好设置(preference)里面修改一些设置,更具自己的需求来设置,比如,我们肯定要进行的操作就是修改管理员的密码,偏好设置里面有个user,里面可以增加和删除网站的用户,分配用户权限等。还有最重要的那就是导入你的opml文件。

导入自己的rss文件后,最重要的一步就是设置让网站程序自己更新rss信息,方法如下:

因为程序开发这为了安全,所以禁止以root身份运行update.php这个更新rss信息的php脚本,所以,我们要用非root身份来设置crontab计划任务。

#useradd ksharpdabu //新建一个叫ksharpdabu的用户

#su ksharpdabu //切换账号到ksharpdabu

$crontab -e //新建crontab计划任务

将下面的代码粘贴到crontab 文件里面

*/30 * * * * /usr/bin/php /home/rss/update.php --feeds --quiet //这里设置的每隔30分钟更新一次rss信息
注意:
/usr/bin/php :这里是php绝对路径,为了安全才这么写的。如果你嫌麻烦,可以直接写成下面的形式:
*/30 * * * * php /home/rss/update.php --feeds --quiet
/home/rss/update.php : 指的是网站根目录下的update.php文件,这里一定要写这个文件的绝对路径。
至于rss的更新时间频率,自己可以修改,就是crontab的命令使用,大家自己谷歌,我这里就不详细讲解了。
--feeds --quiet :这个是update.php的参数,想知道update.php有哪些参数,可以使用下面的命令(不能用root身份运行):
$php /home/rss/update.php
提示可用参数如下:
Options:
--feeds - update feeds
--feedbrowser - update feedbrowser
--daemon - start single-process update daemon
--task N - create lockfile using this task id
--cleanup-tags - perform tags table maintenance
--quiet - don't output messages to stdout
--log FILE - log messages to FILE
--indexes - recreate missing schema indexes
--update-schema - update database schema
--convert-filters - convert type1 filters to type2
--force-update - force update of all feeds
--list-plugins - list all available plugins
--help - show this help
Plugin options:
--update_self - update tt-rss installation to latest version
---------------------

如何在虚拟主机下搭建tiny tiny rss网站并自动更新tiny tiny rss的rss订阅?

其实方法我已经在《用Tiny搭建自己的rss订阅网站教程》指明了,要自动更新就必须到crontbab下将添加定期执行update.php的命令。但是我也不清楚是否虚拟主机环境下,主机上商是否会在虚拟主机的控制面板提供crontab定期执行的权限。因为我不怎么用控制面板,但是在网友用AMH面板上看到了是带crontab的功能的,而最近留言的那位的控制面板也是带crontab计划任务功能的。所以,只要你的虚拟主机的控制面板有crontab计划任务这项功能,那么就可以执行自动更新脚本了。方法和在vps一样,只不过vps下是直接编辑crontab的文件,而虚拟主机是通过面板程序修改,适合新手。

方法:
因为每个虚拟主机的商提供的面板都不一样。所以,你要自己看看虚拟主机的控制面板有无crontab计划任务功能,有的话。继续往下看,没有的话,只能手动更新,其实手动更新影响也不大。

先看vps的方法——vps是执行下面的命令更新的:

usr/bin/php /home/rss/update.php

从上面的命令我们看以看到,如何在控制面板里添加crontab计划任务,就两个关键:

一个是找到php的可执行文件的绝地路径,也可以说是安装路径(上面举例的命令中:usr/bin/php)。但是,一般主机都应该是将php放入了系统环境变量.可以不写绝对路径而直接用php代替usr/bin/php

另 一个关键是,找到你的rss更新的php脚本update.php的绝对路径,也就是你tiny tiny rss安装的路径,上面的例子是脚的路径是/home/rss/update.php 。一般虚拟主机的路径是/home/username/public_html/www 之类的目录了,其中usrname就是你的虚拟主机的用户名,主机根据自身的情况替代命令里的对应的内容就可以了。

下面我分别贴出AMH和Cpanel控制面板官方的演示系统的计划任务添加的方法:

AMH演示地址是:
http://amysql.com/AMH/demo.htm
AMH系统演示
账号: amh
密码: amh_password
登陆后可以看到计划任务选项,然后点击,会看到添加的计划人的选项:

虚拟主机搭建tiny tiny rss的方法
因为AMH面板只能使用AMH命令添加计划任务,所以在命令里添加:
amh php /home/rss/update.php --feeds --quiet
我这只的每个6个小时执行一次.

设定好后,点击下面的“创建”按钮就行了。



下面以Cpanel控制面板举例,来设置tiny tiny rss 自动更新rss订阅的计划任务方法:

演示地址:https://cpanel.net/demo/

点击其中第二个“CPANEL   DEMO”,就可以进入到cpanel的演示系统了。

进入后,在邮编的 Advanced  里面看到 cron jobs  ,就是crontab 计划任务的意思,点击进去就可以了。

进去后看到 crontab设置选项.

像下面的图片一样设置,然后点击  “Add New Cron Job”按钮就完成了计划任务的添加。

其他面板照着这个思路做就行了!
----------

自建RSS阅读器:Tiny Tiny RSS,配置自动更新和全文RSS

一、Tiny Tiny RSS的安装

网站:
  1. 官网:https://tt-rss.org/
  2. 项目:https://git.tt-rss.org/git/tt-rss/src/master

1.1 安装前准备

PHP必备组件(最低为PHP 5.6,建议使用PHP 7以上):
PDO with support for PostgreSQL or MySQL depending on the database server used – some distributions need both PDO and database-specific packages, i.e. php-pdo and php-pgsql
JSON
XML (DOMDocument, DOMXpath)
Internationalization (intl)
mbstring
fileinfo
PHP建议安装的有:
CURL (highly recommended, just install it) OR support for remote fopen()
POSIX functions (for the multiprocess update daemon, otherwise not needed)
GD (needed for OTP and some plugins)
Some kind of opcode cache/accelerator (depends on PHP version: php5-apc, php7-opcache, etc)
特别需要提醒:Tiny Tiny RSS对PHP组件要求严格,缺少任意一个都无法成功启用。

1.2 TT-RSS安装

找一台已经配置好了LNMP或者LAMP环境的VPS主机。执行命令:
  1. git clone https://git.tt-rss.org/fox/tt-rss.git tt-rss
如果不想使用Git命令的话,你也可以自己手动下载安装包然后上传,只不过比Git要麻烦一些。下载下来的文件在tt-rss文件夹中,我们可以将文件移到根目录下,Linux批量移动文件方法:Linux移动和复制文件夹所有文件(包含隐藏的文件)
现在打开浏览器访问:https://mydomain.com/install/,你会看到TT-RSS安装界面,这里你就可以填写数据库账号、密码等信息了。


确定数据库连接成功后,就可以点击初始化TT-RSS了。


初始化成功后,TT-RSS会生成config.php文件,点击保存会自动在你的服务器根目录下生成,否则你也可以手动复制创建在根目录下。


完成后,你就可以登录到TT-RSS了,初始账号是:admin,密码是:password。在打开TT-RSS提示错误,一般来说都是组件没有安装好,如果你用的是Oneinstack,可以直接安装PHP组件,例如php fileinfo

1.3 TT-RSS的使用

Tiny Tiny RSS官方自带了非常多的主题,你可以直接在插件管理选项中启用,部分说明如下:
af_unburn:解决feedburner等rss链接跳转。
bookmarklets:在设置-信息源生成bookmarklets标签。
embed_original:图标插件,点击图标会显示文章原始内容,而不是rss。
fever:模拟fever api,在设置-Fver Emulation,设置好密码,可以和tt-rss的登录密码不同,然后就能支持fever的客户端比如reeder、Mr. Reader。
ff_feedcleaner:feed广告过滤,在设置标签生成FeecCleaner标签,过滤规则要用正则表达式,比较复杂。
googlereaderkeys:模拟google reader快捷键,如J、K等。
import_export:在设置-信息源,导入导出配置。
mail:图标插件,点击通过邮件分享。
mark_button:文章右下角能够快速将文章标记为已读未读。
mobilize:图标插件,点击显示readability简化的页面。
note:图标插件。
nsfw:根据标签隐藏文章内容。
share:图标插件,点击生成唯一的url方便分享。
swap_jk:添加j、k快捷键,类似vim。

1.4 TT-RSS升级

执行以下命令可以更新TT-RSS版本文件:
  1. #进入tt-rss 目录
  2. git pull origin master
然后打开你的TT-RSS,如果提示说config.php有错误,你需要将config.php-dist 中的内容合并到 config.php 或者直接删除 config.php 然后重装安装。特别注意:重装安装这一步不要点击INITIALIZE DATABASE,否则你的数据都会被覆盖。

二、Tiny Tiny RSS技巧

2.1 批量导入导出

Tiny Tiny RSS的信息源管理中,可以批量导入和导出Feed,方便我们迁移。


2.2 删除无效Feed

如果订阅源有无效的Feed,Tiny Tiny RSS会有提示,你可以批量删除它们。


2.3 切换修改主题

主题:
  1. https://github.com/levito/tt-rss-feedly-theme
市面上有不少的Tiny Tiny RSS免费主题,如果你不喜欢默认的主题 ,你可以将它们下载下来放在themes.local文件夹即可,命令演示:
  1. wget wget https://github.com/levito/tt-rss-feedly-theme/archive/master.zip
  2. unzip master.zip
  3. cd tt-rss-feedly-theme-master
  4. cp -r feedly* /data/wwwroot/rss.ucblog.net/themes.local
然后在Tiny Tiny RSS的设置中切换主题。


三、TT-RSS全文插件

网站:
  1. https://github.com/HenryQW/mercury_fulltext
  2. https://github.com/HenryQW/mercury-parser-api

3.1 mercury_fulltext

mercury_fulltext是Tiny Tiny RSS上一个用于获取RSS全文的插件,安装命令如下:
  1. #安装 mercury_fulltext 插件
  2. #进入到插件目录
  3. cd /data/wwwroot/rss.ucblog.net/plugins
  4. #下载
  5. git clone https://github.com/HenryQW/mercury_fulltext.git mercury_fulltext
然后在“偏好设置”中启用该插件。


现在回到“信息源”,这里需要填写Mercury Parser API。


3.2 Parser API

Mercury Parser API需要使用Docker安装。你先在VPS上安装好Docker-CE环境,建议参考官方的安装方法,比较简单。
  1. https://docs.docker.com/install/linux/docker-ce/centos/
  2. https://docs.docker.com/install/linux/docker-ce/debian/
然后执行命令安装和运行Mercury Parser API:
  1. docker run -p 3000:3000 --restart=always -d wangqiru/mercury-parser-api

3.3 RSS全文设置

「偏好设置」-「信息源」-「Mercury Fulltext settings (mercury_fulltext)」,填入自建 Mercury Parser API 地址:localhost:3000,保存。编辑需要获取全文的 Feed(信息源),插件 – 启用「Get fulltext via Mercury Parser」保存退出即可。


四、TT-RSS的手机APP

APP:
  1. https://play.google.com/store/apps/details?id=org.ttrssreader
Tiny Tiny RSS安卓应用可以直接在Google Play应用市场下载,要想让Tiny Tiny RSS在手机APP上登录使用,你需要先在Tiny Tiny RSS上开启API登录。


首次打开Tiny Tiny RSS APP后,需要你设置一下连接,主要填写你的Tiny Tiny RSS网址、账号和密码等。


五、TT-RSS自动更新

5.1 简单更新模式

打开config.php 配置文件,将 SIMPLE_UPDATE_MODE 设置为 true,这样每次打开 Tiny Tiny RSS 就会更新 RSS 订阅数据。特别要注意:你需要在config.php中PHP_EXECUTABLE设置好PHP的路径,例如:/usr/local/php/bin/php
  1. define('PHP_EXECUTABLE', '/usr/local/php/bin/php');
  2. // Path to PHP *COMMAND LINE* executable, used for various command-line tt-rss
  3. // programs and update daemon. Do not try to use CGI binary here, it won't work.
  4. // If you see HTTP headers being displayed while running tt-rss scripts,
  5. // then most probably you are using the CGI binary. If you are unsure what to
  6. // put in here, ask your hosting provider.

5.2 VPS定时任务

如果你用的是VPS主机,可以使用Linux的定时任务。TT-RSS不能使用Root运行定时任务,你需要使用www用户运行(一般来说LNMP环境和BT宝塔面板都用www来运行):
  1. crontab -u www -e
  2. #每5分钟运行一次,/usr/local/php/bin/php为php命令的绝对路径,根据需要来修改
  3. */5 * * * * /usr/local/php/bin/php /data/wwwroot/rss.ucblog.net/update.php --feeds --quiet
当然,还有一种方法是使用root登录,然后执行:contab -e编辑定时任务,加入以下代码:
  1. #指定使用www用户执行定时任务
  2. */5 * * * * su -m www -c "/usr/local/php/bin/php /data/wwwroot/rss.ucblog.net/update.php --feeds --quiet"
  3. #另
  4. php ./update.php是执行单进程,多进程是 php ./update_daemon2.php。

5.3 任务运行情况

修改和编辑Linux定时任务后,记得重启一下定时任务才能生效,命令如下:
  1. #ubuntu下定时执行工具cron开启关闭重启
  2. #配置文件一般为/etc/init.d/cron
  3. 启动:sudo /etc/init.d/cron start
  4. 关闭:sudo /etc/init.d/cron stop
  5. 重启:sudo /etc/init.d/cron restart
  6. 重新载入配置:sudo /etc/init.d/cron reload
  7. #可以用ps aux | grep cron命令查看cron是否已启动
  8. #CentOS重启crontab服务
  9. service crond reload
对于Linux定时任务是否正常运行,我们可以手动查看日志。
  1. #查看定时任务日志
  2. #Ubuntn
  3. tail -f /var/log/syslog
  4. #CentOS
  5. tail -f /var/log/cron
会有如下记录:
  1. Sep 28 22:20:01 localhost CRON[15714]: (www) CMD (/usr/local/php/bin/php /data/wwwroot/rss.ucblog.net/update.php --feeds --quiet)
  2. Sep 28 22:25:01 localhost CRON[15985]: (www) CMD (/usr/local/php/bin/php /data/wwwroot/rss.ucblog.net/update.php --feeds --quiet)
  3. Sep 28 22:30:01 localhost CRON[16177]: (www) CMD (/usr/local/php/bin/php /data/wwwroot/rss.ucblog.net/update.php --feeds --quiet)

六、总结

Tiny Tiny RSS在批量导入Feed订阅源和设置定时任务时总会遇到一些莫名其妙的错误,例如数据库会报错:Uncaught PDOException: SQLSTATE[HY000] [1045] Access denied for user或者是MySQL connection not working: 2002 No such file or directory
另外,在手动检测运行Tiny Tiny RSS定时任务时,也出现了如下错误:
  1. Tiny Tiny RSS was unable to start properly. This usually means a misconfiguration or an incomplete upgrade.
  2. Please fix errors indicated by the following messages:
  3. * Please don't run this script as root.
  4. * PHP UConverter class is missing, it's provided by the Internationalization (intl) module.
  5. * PHP support for mbstring functions is required but was not found.
  6. You might want to check tt-rss wiki or the forums for more information.
  7. Please search the forums before creating new topic for your question.
错误:Please don't run this script as root 这个很好解决,用本文的su www这样的指定用户运行定时任务即可,其它的如PHP错误、数据库等错误,经过实践摸索在config.php中指定数据库的连接地址和端口即可,如下:
  1. define('DB_TYPE', 'mysql');
  2. define('DB_HOST', '127.0.0.1');
  3. define('DB_USER', 'wzfou');
  4. define('DB_NAME', 'wzfou.com');
  5. define('DB_PASS', 'qimm');
  6. define('DB_PORT', '3306');