Calibre-web 个人图书库搭建记 14 python-cdn、python-cors插件 和腾讯云cos对象存储、CDN的设置

最近开始扩充书库,折腾程序中多了很多思考和感悟,因为眼睛又干又涩不能看手机了,很久也没有更新日记和看书了,现在做个记录。

折腾书库折腾了一段时间,开始考虑整个折腾过程中哪些是值得提前优化的?哪些事情是根本不需要现在这个阶段进行提前优化的?

本地磁盘的缓存磁盘空间现在也不着急进行优化,磁盘不够用的时候只需要花几百块钱买一块新的云磁盘挂载即可,不需要在本地磁盘上做太多对象存储化的优化。针对图书库的对象存储优化工作也可以考虑放到对象存储回源来实现,适量冗余可以减少很多定制的折腾问题。

测试了前面想到的cos对象存储内网回源的方式发现不能成功,后面把对象存储回源改为外网回源,在低访问和calibre-web 的static 资源冷数据访问量低的情况下足够使用。

[……]

阅读更多

Calibre-web 个人图书库搭建记 13 python,linux 相关的知识学习

昨天半夜又搞了一下web服务器,想着将calibre-web的静态目录static放到对象存储中,将web服务器的存储空间给解放出来,因为calibre-web的在线阅读用的目录就是static目录,整个目录一直是在不断的增长中的,calibre-web对整个解压目录没有采用统一文件夹,而是直接放到了static的跟目录下了。

这让整个迁移和实时解压文件产生了问题,将静态css,js这些文件通过腾讯的对象存储的挂载磁盘方式挂载static目录后python flash 对整个静态目录读写貌似慢了很多。主要体现在第一次对文件的读写上,因为要上传和实时解压上影响了程序响应效率。

既然上传资源文件到对象存储,那就继续考虑对象存储文件的外部访问通过对象存储的cdn方式访问。找到python flash_cdn 插件,可以统一配置 url_for调用static 的资源cdn 域名,在访问url_for函数生成时自动生成cdn 域名前缀的资源。

[……]

阅读更多

Calibre-web 个人图书库搭建记 12 增加增长量,迁移本地书库

这两天测试了一次开通两个小蜜蜂账号,这样每天可以增加100本的存储量,小蜜蜂防止滥用下载的程序还挺严格,一不小心就被封禁下载4小时。试了很多次才用两个浏览器下载完成。

下载完的书籍重复还是很多,为了防止浪费每天的下载次数,通过chrome 的自定义搜索,在加入书库的时候先搜索一下书库是否存在相同的书,相同的话就不再下载。自定义搜索用起来还是挺好用的。

因为增加了书库下载量,自己感觉笔记本整天干转换,下载图书的工作太费硬盘,基本上calibre转换为epub和mobi时正常使用电脑都受影响。想着测试一下把calibre的本地书库整理工作放到华为云桌面上。复制文件迁移到云桌面,配置cos的本地同步工具,但从笔记本拷贝过去的本地同步工具还要全量上传一次到云存储上。迁移到云桌面后的书库目录有变化,又研究一下虚拟磁盘把云桌面的磁盘虚拟一个E盘出来,保持与原来相同的目录后cos本地同步工具就可以沿用同步记录了,不需要再次全量上传一次到云存储了。

[……]

阅读更多

Calibre-web 个人图书库搭建记 11 扩充图书库

因为calibre-web服务器环境目前基本稳定了,所以自己开始考虑如何进行图书墙的数据扩容问题了。前段时间因为需要下载图书,开通了小蜜蜂书库的vip,自己每天抽空把下载权限给用上,每天可以新增到书库50本新书,去掉重复的部分基本可以达到30本,一个月能新增1000本。一年能新增一万本图书,应该也能服务不少用户了。

小蜜蜂的书库基本都是正版书籍,在排版和质量上都能有所保障,之前的一部分图书是从其他网站下载的,很多不是亚马逊的版本。这几天我对重复图书的处理是不重复添加,现在想来应该重复添加才对,这样可以将原来非官方的图书版本更新掉,逐渐实现图书质量的提高,反正上传不花钱。只不过是重新覆盖一下。然后通过 calibre的插件 Find Duplicates 处理重复图书。

小蜜蜂的vip只需要30元每年,对于电子书资源来说性价比超高。但下载权限的限制也很明显,一天只能存储50本,一天只能下载20次,下载还有频率和带宽限制,好在打包下载速度还可以,一般50本下载下来需要20多分钟,不能一起下载,一次一个进程下载比较安全。

[……]

阅读更多

Calibre-web 个人图书库搭建记 10 结合对象存储和云存储做加速

calibre-web 程序放在腾讯云中,用了腾讯云的cos对象存储来放置图书库。可以让书库容量变得接近无限大。

为了充分发挥对象存储的优势,通过修改模板文件和代码程序,把calibre-web 的缩略图和图书下载阅读都直接使用了对象存储的cdn访问。这样既能提高用户下载速度,又可以节约python转发对象存储内容的服务器算力,要让对象存储的请求数减少一些。cos对象存储的访问域名和对应的对象存储cdn域名是单独两个,直接使用对象存储域名还是cdn域名也是各有优缺点。

cdn域名可以对资源进行加速和缓存,而且能抵消一些免费cdn流量,用上cdn以后如果用户少也许空中率会没有这么高,基本还是回源访问的话达不到加速效果还损失下载时间。cdn另外一点是不能再通过对象存储的加密访问来防止盗链资源的发生。cdn加速效果和加密访问资源这个在后面需要继续测试和改进。

[……]

阅读更多

Calibre-web 个人图书库搭建记 9 calibre 插件 Find Duplicates 整理重复书籍,统一编目

现在图书库中有1.3万本图书,其中有90%是从网上下载的各个网站的资源。书籍的meta编目信息混乱的很,标签有几千个,作者、书名、出版舍也都混乱。

因为一些网站为了推广自己而在图书的meta植入广告,如果是自己看一两本书没什么影响,几万本书的时候对资源统一管理,整理势在必行。好在calibre 可以辅助索引检索。自己人工用排序将没有意义书籍标签先处理了,处理了几千条。通过批量管理吭哧吭哧搞了一个小时,一晚上基本都在干整理标签的事。整理完以后还剩一些标签需要再规整,但先将广告标签和书名当标签的情况处理掉了。

整理书签顺道把放到出版社位置的广告也都删掉了,搞完书库的标签和出版社。后面发现作者和标题的重复人工基本无法处理,太分散,太难发现。

[……]

阅读更多

Calibre-web 个人图书库搭建记 8 开始准备改代码

因为上周末在腾讯云上搭建了Calibre-web 程序。为了节省服务器硬盘,为了以后书库扩容方便,自己把书库文件通过腾讯云的对象存储挂载到云主机的方式存放的。

开始主要是想用腾讯云免费的50G对象存储(cos)空间,但后来发现用户对象存储好像天热比较适合这种固定且读写不频繁的图书库场景。

但用对象存储挂载到云服务器上发现读写瓶颈非常明显,基本上只要一更新calibre的数据库就会把 Calibre-web的程序搞崩溃。自己开始不知道是对象存储当磁盘挂载的读写造成的。结果反复的尝试和研究calibre-web的驱动方式与挂载磁盘的关系,一个劲的重启、删除数据库、重装来测试。

最后才发现原来是对象存储当磁盘使用不能把对象文件当数据库来使用。仔细研究了一下calibre管理图书的原理,发现书库的索引库放在了跟图书源文件一个目录,这行好处是可以配置一个数据库文件地址,就能按照数据相对索引到图书文件。

[……]

阅读更多

Calibre-web 个人图书库搭建记 7 云存储放置书库文件

Calibre-web 程序本身自带了将图书文件存储在谷歌硬盘的解决方式,按照教程配置应该就可以搭建成功,为什么是应该呢?因为我还没有尝试这种在Google Dirve存放图书文件方式搭建。原因是我的谷歌硬盘只有15G大小(存储升级并不贵,1T空间貌似只需要9.9美元/月)。另外是在国内无法访问谷歌硬盘,这样在国内基本就无法使用这种方式。

所以只能自己用国内的存储方案来实现硬盘够大,还比较优惠的方案。开始我准备直接用腾讯云或者阿里云的服务器来买块大硬盘就可以提供服务了,但考虑到未来如果图书库越来越大的话备份和迁移服务器都会是比较麻烦的,重要的一点是把如此大的文件放到一台服务器备份也很麻烦,文件的下载速度完全取决于自己服务器的带宽能力,1M的服务器跑个web应用还可以,如果再加上大量图片和下载就不行了。

综合了阿里云和腾讯云的服务器的存储和对象存储后,直接在腾讯云的cos对象存储中存放40G的书库文件,腾讯云提供50G的cos对象存储免费空间,基本可以满足需要了,未来如果增长也只需按量付费就可以。

[……]

阅读更多

为什么尝试 crm 与邮件订阅?

上一篇文章(http://5656t.com/archives/636)提到自己组建了一个邮件组订阅服务,自己总结一下做邮件列表的动机和原因。
最近想着开始慢慢积累一些跟业务相关的兴趣群体列表,可以在不同的领域找到一些相同兴趣爱好的人共同交流经验和互联网类工具的应用心得。

希望可以通过自己的不断的输出和分享能获得一些影响圈的扩大。在影响圈内获得自己合适的价值输出平台。如果以后做一些服务和产品的时候也需要种子用户进行先使用和产生推荐。如果有一群人可以对自己研究的方向感兴趣,自己又能够在需要的时候准确的触达并把自己的产品推荐给他们。这是一件不断积累和维护自己影响圈的事情,需要持续不断的对自己的客户群体进行服务和价值输出才能获得他们的持续关注。

如果自己提供的内容和服务能为接收者提供帮助,又能让自己获得一些合理的报酬,那便是一件件成功的事业。以前的时候总想着去改变世界,总感觉互联网就应该是免费的,当自己真正在互联网发布项目和服务的时候才知道原来一个项目的运作需要消耗大量的资源和时间才能搞定。如果使用者不愿意为这个服务付出相对应的成本,那么也许这些用户就不是一件小生意应该关注的群体。只有做大了获得足够利润时才能靠责任心去发布一下纯公益的免费服务。

[……]

阅读更多

邮件订阅列表

最近想学习小道消息一样尝试订阅邮件列表的推送的功能,找了几个国内的邮件列表订阅平台都不太符合需求。(可以批量实时群发(1000封左右)、支持后台管理订阅人员、系统可靠稳定、最好免费性价比高)

先想到的是QQ邮件订阅列表(http://list.qq.com/),最早了解到的邮件订阅平台,但因为这个产品已经处于半关闭状态中,具体能服务多久让人存疑。又了解的网易的邮件列表服务(groups.mail.163.com),网易的邮件列表是群组的方式,提供一个公共的邮件群组地址,用户加入群组后就可以收到发送到这个群组邮箱地址的所有邮件,这种群组方式不适合进行权限管控,容易让邮件组变成了一个垃圾放大器。

后来听说谷歌也有一个类似网易的 groups 的邮件组服务,但现在网站也是打不开了。

[……]

阅读更多