部署电子书阅读器 Koodo Reader
一、Flexus 云服务器 X 实例介绍
1.1 云服务器介绍
云服务器是一种基于云计算技术的虚拟服务器,提供灵活的计算资源和存储空间。用户可以通过互联网访问和管理云服务器,无需购买和维护物理硬件。云服务器具有高可扩展性和弹性,能够根据业务需求快速调整资源配置。
华为云下一代云服务器 Flexus X 实例焕新上线,新产品具备柔性算力,六倍性能,旗舰体验,覆盖高科技、零售、金融、游戏等行业大多数通用工作负载场景,从而帮您快速上云!
Flexus X 实例通过和其他服务组合,具备计算、镜像安装、网络、存储、安全等能力,您可根据业务需要灵活配置各资源。
本次测评使用的规格是:4 核 12G-100G-3M 规格的 Flexus X 实例基础模式
1.2 对比普通 ECS
1.3 计费模式
二、Flexus 云服务器 X 实例配置
2.1 重置密码
购买完成后,会短信通过你的云服务器信息,重点是公网 IP 地址和用户名。首先我们需要打开你的服务器控制台,完成重置密码
勾选自动重启,点击确定即可。
2.2 服务器连接
• 方式一:使用控制台提供的 VNC 方式登录
• 方式二:使用 Putty、Xshell 等工具登录 Linux 弹性云服务器,a)下载安装登录工具,例如 Putty。b)输入弹性公网 IP。c)输入用户名:root、密码,单击“确定”。
• 方式三:使用 Linux/Mac OS 系统主机登录 Linux 弹性云服务器。a)执行连接命令。ssh 弹性公网 IP 例如:ssh 123.xxx.xxx.456b)输入用户名:root、密码,登录服务器。
我个人习惯使用 MobaXterm 这款软件,添加 SSH 连接,输出公网 IP、用户名和端口(默认 22),连接即可。
2.3 安全组配置
安全组是一个逻辑上的分组,为同一个 VPC 内的云服务器提供访问策略。用户可以在安全组中定义各种访问规则,当云服务器加入该安全组后,即受到这些访问规则的保护。
系统为每个网卡默认创建一个默认安全组,默认安全组的规则是对出方向上的数据报文全部放行,入方向访问受限。您可以使用默认安全组,也可以根据需要创建自定义的安全组。
主要需要填写优先级(默认填 1 即可)、协议端口信息(一般选择你项目需要暴露的端口即可),其他默认点击确定即可。安全组配置主要是暴露端口可以给外网访问。
如果还不清楚可以参考文档:安全组配置示例
三、部署 Koodo
3.1 Koodo 介绍
Koodo Reader 是一个开源免费的电子书阅读器,支持多达 15 种主流电子书格式, 内置笔记,高亮,翻译功能,助力高效书籍阅读和学习。
• 支持阅读格式:
– EPUB (.epub)
– PDF (.pdf)
– Kindle (.azw3, .mobi, .azw)
– 纯文本(.txt)
– 漫画(.cbr, .cbz, .cbt, .cb7)
– 富文本(.md, .docx)
– FB2 (.fb2)
– 超文本(.html, .xml, .xhtml, .mhtml, .htm)
• 支持 Windows,macOS,Linux 和网页版
• 备份数据到 OneDrive, Google Drive, Dropbox, FTP, SFTP, WebDAV, S3, S3 Compatible
• 自定义源文件夹,利用 OneDrive、百度网盘、iCloud、Dropbox 等进行多设备同步
• 双页模式,单页模式,滚动模式
• 听书功能,翻译功能,词典功能,触控屏支持,批量导入图书
• 支持目录,书签,笔记,高亮,书架,标签
• 自定义字体,字体大小,行间距,段落间距,阅读背景色,文字颜色,屏幕亮度,文字下划线、斜体、文字阴影、字体粗细
• 黑夜模式和主题色设置
Koodo Reader 只是一个本地阅读器,你所有的数据都只会保存在本机,网页版的数据作为缓存临时保存在了浏览器中,清理缓存会导致数据丢失。Koodo Reader 未来的开发计划中还加入导入网盘中的电子书、支持有声格式、绘图功能、PDF 支持 OCR 等等,真的很期待了,这对爱看书的小伙伴们应该很有吸引力吧。
• 官网:https://www.koodoreader.com/zh
• Github:https://github.com/koodo-reader/koodo-reader
3.2 Docker 环境搭建
本次服务器环境是 ubuntu 系统镜像,需要自己安装 docker 环境
使用 apt-get 命令安装 docker 及其配置
#安装必要工具包 $ sudo apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common#添加 Docker GPG 秘钥 $ sudo curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/gpg | sudo apt-key add -#配置仓库源 $ sudo add-apt-repository "deb [arch=amd64] https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu $(lsb_release -cs) stable" #更新 apt 包索引 $ sudo apt-get update#安装 docker$ sudo apt-get install docker-ce docker-ce-cli containerd.io#添加 docker 镜像源 $ sudo vim /etc/docker/daemon.json{ "registry-mirrors": [ "https://ustc-edu-cn.mirror.aliyuncs.com/", "https://docker.mirrors.ustc.edu.cn", "https://docker.nju.edu.cn", "https://ccr.ccs.tencentyun.com/", "https://docker.m.daocloud.io/", "https://dockerproxy.com", ]}#重启 $ sudo systemctl daemon-reload$ sudo systemctl restart docker
测试 docker 安装是否成功
root@flexusx-c6b3:~# docker -vDocker version 27.2.0, build 3ab4256```
检查 docker 服务状态
root@flexusx-c6b3:~# systemctl status docker* docker.service - Docker Application Container Engine Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled) Active: active (running) since Fri 2024-08-30 15:53:45 CST; 17h agoTriggeredBy: * docker.socket Docs: https://docs.docker.com Main PID: 24912 (dockerd) Tasks: 13 Memory: 24.7M CPU: 3.778s CGroup: /system.slice/docker.service `-24912 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
检查 docker compose 版本
root@flexusx-c6b3:~# docker compose versionDocker Compose version v2.29.2
3.3 Koodo 部署
• 创建 docker-compose.yml
version: '3'services: koodo-reader: image: liwangsheng/koodo-reader container_name: koodo-reader ports: - "8860:80" restart: always
• ports:配置访问端口
如果将上述代码片段保存在名为 docker-compose.yml 的文件中,则只需从同一文件夹中运行 docker compose up -d 即可自动拉取 Koodo 镜像,并创建并启动一个容器。up 表示启动服务,-d 表示在后台执行。docker-compose down 命令用于停止和清理由 docker-compose up 启动的服务。
• 配置安全组
在 Flexus 云服务器 X 实例的安全组管理页面,添加入方向规则,接下来我们启动服务需要监听 8860 端口,所以添加安全组为 TCP:8860 协议端口。
• 访问结果
若出现此页面,则部署 koodo server 成功。
3.4 Koodo 使用
Koodo Reader 会根据浏览器自动匹配语言的,如果未匹配,可以在设置-语言中选择简体中文,设置中还可以设置主题色、系统字体、默认搜索引擎、外观等
点击图书,即可选择本地的图书文件上传到 Koodo 中
导入几本 PDF 文件后,首页就会展示你上传的文件了,会自动显示封面和标题
选择对应的图书,可以进行一些设置,比如添加到喜欢、添加到书架、编辑、删除等
主要界面的几个功能栏,上侧功能包含了搜索、排序、设置、备份、导入图书,左侧功能主要是分类展示:全部图书、我的喜欢、我的笔记、我的高亮、我的回收、我的书架等
右下角可以切换展示模式:卡片模式、列表模式、封面模式
导入一本 EPUB 格式的图书,点击封面,进入阅读模式,点击右上角的菜单即查看配置项,左侧为图书目录、书签、笔记和高亮内容,上侧为阅读时间统计,可切换全屏模式和增加书签,右侧为阅读模式的设置项,可以设置视图模式、背景颜色、文字颜色、字体大小,还有简繁转化功能,更改设置后刷新网页生效,下侧是阅读进度、当前页数、章节信息展示和跳转
在图书中的文字进行划线,就会调出菜单栏,有记笔记、高亮、翻译、复制、全书搜索、词典(需要客户端才可以使用)、网上搜索、朗读文字(网页版暂不可用)、
选择高亮后,还可以标注记笔记
在首页的我的笔记中就能展示刚刚记录的笔记
Koodo Reader 作为电子阅读器的常用功能点就演示到此了,导入图书、阅读图书、阅读模式的设置、记笔记等常用操作,这是一个合适的在线读书软件,很适合爱看书、收藏书、喜欢做读书笔记的朋友,客户端版本还可以“开启听书”选项,还有更多有趣的设置和功能就需要自行探索了。
四、总结
Koodo Reader 遵循极简主义设计原则,通过精心打磨的 UI 界面和交互方式让读者享受沉浸式无干扰的阅读体验,并且为读者的图书添加书签、笔记、高亮,使用听书功能解放双手,25 种语言即时翻译, 支持众多电子书格式,为喜欢读书的朋友提供了一种开源电子阅读解决方案。此次使用的 Flexus X 实例配置还是很高的 4 核 12G-100G-3M 规格的基础模式,阅读体验很好、很流程丝滑,导入电子书速度也很快,几乎无延迟,全局搜索时返回结果也很快,项目的运行整体 CPU 和内容占用都不高,很推荐读书狂魔。
华为云正在举行 828 B2B 企业节!享受高性能、高可靠性的云计算服务,助力您的业务快速发展。无需初始投资,按需付费,灵活扩展资源。华为云提供全球节点覆盖,确保低延迟和高可用性。立即体验