novel-plus(小说精品屋-plus) 源码安装教程


前置要求

本教程基于 Linux 系统,通过 源码 安装开源小说系统 novel-plus。如需使用其他方式安装,请参考 novel-plus 官方安装文档

安装前请确保你的服务器满足以下要求:

  • 操作系统:Linux 或 Windows
    (Windows 用户请将文中相关命令和工具替换为对应的 Windows 版本)
  • 内存:建议至少 2 GB
  • 硬盘空间:建议预留至少 10 GB(按业务需求分配)

环境安装

1. 安装 JDK

参考 Oracle JDK 21 官方安装指南安装 JDK 21

2. 安装 MySQL

  • 参考 MySQL 8.0 官方安装指南安装 MySQL 8.0
  • 使用可视化工具或命令行,将 novel-plus/doc/sql/novel_plus.sql 脚本导入至 MySQL 中,完成对 novel_plus 数据库的创建和初始化

3. 安装 Redis

参考 Redis 官方安装指南 安装 Redis

4. 安装 Maven

参考 Apache Maven 官方安装指南 安装 Maven


源码打包

novel-plus 项目根目录下执行以下命令打包项目:

1
mvn clean package -Dmaven.test.skip=true

爬虫程序安装(novel-crawl)

1.将打包生成的 novel-crawl.zip(位于 novel-crawl/target/build/)复制到 novel-crawl 的服务器安装目录(如 /www/wwwroot/novel-plus/novel-crawl)并解压:

1
unzip novel-crawl.zip

2.修改配置文件:

  • config/shardingsphere-jdbc.yml:配置 MySQL
  • config/application.yml:配置 Redis 和管理员账号

3.如有需要,配置代理 IP

4.启动爬虫:

1
bin/novel-crawl.sh start

5.浏览器访问 http://<服务器IP>:8083,开启爬虫源采集小说数据

6.其他常用命令:

1
2
3
bin/novel-crawl.sh stop
bin/novel-crawl.sh restart
bin/novel-crawl.sh status

前台程序安装(novel-front)

1.将打包生成的 novel-front.zip(位于 novel-front/target/build/)复制到 novel-front 的服务器安装目录(如 /www/wwwroot/novel-plus/novel-front)并解压:

1
unzip novel-front.zip

2.修改配置文件:

  • config/shardingsphere-jdbc.yml:配置 MySQL
  • config/application.yml:配置 Redis 和图片保存目录

3.启动前台程序:

1
bin/novel-front.sh start

4.浏览器访问 http://<服务器IP>:8085

5.常用命令同上(stoprestartstatus


后台程序安装(novel-admin)

1.将打包生成的 novel-admin.zip(位于 novel-admin/target/build/)复制到 novel-admin 的服务器安装目录(如 /www/wwwroot/novel-plus/novel-admin)并解压:

1
unzip novel-admin.zip

2.修改配置文件:

  • config/shardingsphere-jdbc.yml:配置 MySQL
  • config/application.yml:配置 Redis

3.启动后台程序:

1
bin/novel-admin.sh start

4.浏览器访问 http://<服务器IP>:8088

5.常用命令同上


部分环境获取不到主机 IP,需要手动修改 hosts 文件,增加 IP-主机名(通过 hostname 命令查看主机名)的映射。

1
2
[root@iZwz9e2l6djkn7vw4xvic9Z ~]# hostname
iZwz9e2l6djkn7vw4xvic9Z

正确配置:

/etc/hosts
1
172.18.5.192 iZwz9e2l6djkn7vw4xvic9Z  iZwz9e2l6djkn7vw4xvic9Z

错误配置:

/etc/hosts
1
127.0.0.1 iZwz9e2l6djkn7vw4xvic9Z  iZwz9e2l6djkn7vw4xvic9Z