侧边栏壁纸
博主头像
小新笔记坊

笔耕学思悟,细绘生活卷。

  • 累计撰写 52 篇文章
  • 累计创建 23 个标签
  • 累计收到 49 条评论

目 录CONTENT

文章目录

开源阅读服务器版:详细部署教程全解

小新笔记坊
2024-11-10 / 0 评论 / 0 点赞 / 21 阅读 / 0 字 / 正在检测是否收录...

安装环境

操作系统:Linux CentOS 8.0

数据库:mysql 8.0

CPU:2核

内存:2GB

初次安装后占用内存:0.45GB

预计未来占用内存:0.6GB

项目介绍

简介

该项目源于民间知名看小说软件开源阅读,后经假装大佬魔改为服务器web版,该项目均已开源。开源阅读(简称阅读)的本质就是一款浏览器,只是它需要通过一些特定规则来对不同的网页进行定义,才能进行浏览。换句话说,阅读就是一个把您想看的网页内容进行重新编排的工具。所以,我们用阅读看小说,是因为有大佬将网络上已有的小说网站用代码进行了重新定义(也就是我们一直说的书源),从而能通过阅读这个浏览器来进行阅读。简而言之,阅读就是个工具,并不提供任何小说内容。也正因为如此,阅读还可以听音乐、看漫画甚至是看资讯新闻,只要有大佬愿意去做。

功能

1.上传/管理本地书籍(不支持PDF)。上传的本地书籍可设置项目下所有账户均可访问(非管理员无法编辑删除书籍)。

2.网页端跨平台多端运行,不再担心IOS等系统找不到阅读软件。

3.网页端阅读支持设置背景、字体、字号、段/行距、上下/左右翻页等功能,且网页端适配较好,阅读体验非常不错。

4.支持接入书源,且可自定义书源。

5.支持在线浏览器/服务器缓存书籍。

项目数据存储目录

storage
├── assets                                                 # 静态资源
│   ├── hector                                             # 用户 hector 的资源目录
│   |   |── covers                                         # 本地 epub 书籍的封面图片目录
│   │   ├── background                                     # 自定义阅读背景图片保存目录
│   │   │   └── 6.jpg
│   └── reader.css                                         # 自定义CSS样式文件
├── cache                                                  # 缓存目录
│   ├── 6190ac40068e74c2c82624e91a5f8a0c.jpg               # 书籍封面缓存
│   ├── bookInfoCache                                      # 书籍搜索缓存 ACache 目录
│   └── ea11967236129bdae6133c3c9ff8c2dd.jpg
├── data                                                   # 数据目录
│   ├── default                                            # 系统默认用户的数据目录 (reader.app.secure为false时)
│   │   ├── bookSource.json                                # 书源列表
│   │   ├── bookshelf.json                                 # 书架书籍列表
│   │   ├── 斗破小新鸭                                      # 书籍缓存目录
│   │   │   ├── 5d01bc88d6b19ebbe974acaac1675811           # A书源章节缓存目录
│   │   │   ├── 5d01bc88d6b19ebbe974acaac1675811.json      # A书源目录列表
│   │   │   ├── 7e5ca1cc2a1ea2e09fdec4ee2e150f02           # B书源章节缓存目录
│   │   │   ├── 7e5ca1cc2a1ea2e09fdec4ee2e150f02.json      # B书源目录列表
│   │   │   └── bookSource.json                            # 书籍书源列表
│   ├── hector                                             # 用户 hector 的数据目录 (reader.app.secure为true时的用户目录)
│   │   ├── bookSource.json                                # 书源列表
│   │   ├── bookshelf.json                                 # 书架书籍列表
│   │   ├── webdav                                         # webdav 存储目录 可能会存在 legado 子目录
│   │   │   ├── backup2021-09-15.zip                       # 阅读3备份文件
│   │   │   └── bookProgress                               # 阅读3书籍进度备份目录
│   │   │       └── 斗破小新鸭.json                         # 阅读3书籍进度
│   │   └── 斗破小新鸭                                      # 书籍缓存目录
│   │       |── 2d44d0ec2397b6c1d4010b97d914031e           # A书源章节缓存目录
│   │       └── 2d44d0ec2397b6c1d4010b97d914031e.json      # A书源目录列表
│   └── users.json                                         # 用户列表
├── localStore                                             # 本地书仓,所有用户共享(用户需要开启书仓权限,才能访问)
│   |── 斗破小新鸭.txt                                      # 本地书仓书籍
│   └── 斗破小新鸭.txt                                      # 本地书仓书籍
└── windowConfig.json                                      # 窗口配置文件

搭建步骤

1.下载开源阅读服务器版JAR包

2.进入服务器,任意路径新建存储该项目数据的文件夹(reader),并将JAR包上传至该文件夹下。

3.赋予JAR执行权限

chmod +x reader.jar

4.运行JAR测试是否正常运行。控制台输出READER并且/reader/log/内日志输出正常即为运行成功。

java -jar reader.jar --reader.server.port=2060 --spring.profiles.active=prod --reader.app.cacheChapterContent=true --reader.app.userLimit=50 --reader.app.userBookLimit=200

注:使用 java -jar 命令来运行 JAR 文件,指定了应用服务器端口为 2060,设置了 Spring 配置文件为生产环境(prod),cacheChapterContent为开启了章节内容缓存,设定了用户限制为 50,每个用户的书籍限制为 200。

设置项目开机自运行

1./etc/systemd/system/目录下创建reader.service服务文件。

[Unit]
Description=reader
After=network.target
[Service]
ExecStart=/usr/bin/java -jar /var/www/html/ReaderBook/reader.jar \
  --reader.server.port=2060 \
  --spring.profiles.active=prod \
  --reader.app.cacheChapterContent=true \
  --reader.app.userLimit=50 \
  --reader.app.userBookLimit=200 \
  --reader.app.secure=true \
  --reader.app.secureKey=ab123456 \
  --reader.app.inviteCode=ab123456
Restart=always
User=root
Group=root
WorkingDirectory=/var/www/html/ReaderBook/
[Install]
WantedBy=default.target

注:

使用 java -jar 命令来运行 JAR 文件。

server.port指定了应用服务器端口为2060。

profiles.active设置了 Spring 配置文件为生产环境(prod)。

app.cacheChapterContent开启了章节内容缓存。

app.userLimit设定了用户限制为 50。

app.secureKey为管理密码。

app.inviteCode为注册邀请码。

User设定运行该服务的账户为root。

WorkingDirectory指定了该项目文件夹。

2.运行服务

sudo systemctl start reader

3.查看服务运行状态

systemctl status reader

4.设置服务开机自启动

sudo systemctl disable reader

设置项目定时重启

注:默认可不设置,除非项目内存总是降不下去。

1.编辑当前用户的定时任务列表

sudo crontab -e

2. 在该文档中填写以下代码

0 */6 * * * systemctl restart reader

注:这条命令的意思是,在每小时的第0分钟(即整点),每过6小时执行一次 systemctl restart reader命令。定时任务列表路径为/var/spool/cron/

3.键盘按下esc,:wq,回车,进行退出编辑并保存。

备份/还原

备份

1.进入云端阅读——>用户空间——>备份我的配置——>下载数据备份。

2.进入服务器拷贝/storage/localStore/目录下的本地书仓书籍即可。

还原

1.进入云端阅读——>WebDaV——>文件管理——>将备份的文件上传至/legado/目录下——>选择还原即可。

备份还原清单:书源、书架、分组、RSS订阅数据、替换规则、书签、用户配置和Webdav书籍。

2.进入服务器上传txt书籍至/storage/localStore/目录下即可

注:还原不会还原已下载缓存的书籍。

0
  1. 支付宝打赏

    qrcode alipay
  2. 微信打赏

    qrcode weixin
    1. 支付宝打赏

      qrcode alipay
    2. 微信打赏

      qrcode weixin

评论区