十分钟搭建一个小说站
 
Notifications
Clear all

十分钟搭建一个小说站

1 Posts
1 Users
0 Likes
1,024 Views
(@taichi)
Member
Joined: 4 years ago
Posts: 408
Topic starter  

今天我们介绍一下如何搭建一个小说站。我们采用的源码是小说精品屋,这里感谢201206030大佬。

源码地址: https://github.com/201206030/fiction_house

免责声明:本教程仅供个人学习,不得用于商业用途。若产生版权纠纷,与本人没有任何关系。

小说精品屋是非常成熟的小说站搭建程序,可定制化程度高,搭建简单,功能丰富,用Java编写。作者的Github上给出的搭建教程较为简洁,对于新手来说操作起来比较有难度.

300w, 768w, 520w, 1276w" data-sizes="(max-width: 1024px) 100vw, 1024px" data-was-processed="true" />

1, 软硬件要求

首先我来介绍一下小说精品屋源程序的组成。该源码分为两个部分,前端程序和后台爬虫。前端程序是给用户浏览器访问的网站程序,爬虫是用来抓取小说进入数据库的程序。如果您打算搭建访问量较高的小说站,那么我建议站库分离。如果您的目标访客量不大,那么您可以将其放在同一台服务器上。我们今天介绍将这两个部分放在同一台服务器上。

我们使用的服务器配置如下:

  • CPU: 1核
  • 内存: 4 GB或以上
  • 硬盘:建议至少100 GB, 每本小说约占据10 MB空间,100GB可以放下10000本小说。如果你想存储更多小说,则需要更大的硬盘空间。
  • 操作系统:我们这里使用Ubuntu 18.04 LTS 64 bit, 您可以根据个人需求选择,相差不大。

2, 安装JDK

小说精品屋的前端程序和爬虫程序都是由Java编写的,因此我们需要安装JAVA来实现程序运行。我们到Oracle官网下载JDK 1.8.

https://www.oracle.com/java/technologies/javase-jdk8-downloads.html

选择上面的“Linux x64 Compressed Archive”下载,并上传到服务器上。

上传完毕后,将该压缩包解压,并放到/opt目录下,比如/opt/jdk1.8.0_251

然后我们需要配置环境变量。编辑/etc/profile文件,然后添加下面的语段:

1
2
3
export JAVA_HOME="/opt/jdk1.8.0_251"
export PATH="$JAVA_HOME/bin:$PATH"
export CLASSPATH=".:$JAVA_HOME/lib:$CLASSPATH"

保存退出后source该文件:

1
source /etc/profile

此时,执行java命令可以看到正确的java用法提示界面,说明配置成功。

3, 修改小说站配置文件

我们到这里 https://github.com/201206030/fiction_house/releases下载程序最新的压缩包。压缩包打开后有三个文件夹,分为爬虫、数据库、前端,由于中文无法在SSH中正确显示和匹配,所以我这里将其重新命名为crawler, database, 和frontend.  我们接下来需要修改其中的几个文件。

crawler/application.yml

  • 第4行: username:booksdbuser, password:booksdbpassword

frontend/application.yml 

  • 第2行: port: 80
  • 第7行: username:booksdbuser
  • 第8行: password:booksdbpassword

frontend/application-website.yml

  • 第4行: 你的小说站名
  • 第6行: domain: http://qing.su (改成你的小说站URL)

修改完毕后,将所有这些文件夹上传到服务器上,位置任意。

4, 配置数据库

我们搭建的小说站基于MySQL数据库,小说数据全部存入数据库,而不是写入文本文件。执行下面的命令:

1
2
apt-get install mysql-server
mysql_secure_installation

这样就安装好了MySQL数据库。执行下面的命令进入MySQL

1
mysql -u root -p

我们下面要新建一个数据库并初始化。

1
2
3
CREATE DATABASE books DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
GRANT ALL ON books.* TO 'booksdbuser' IDENTIFIED BY 'booksdbpassword';
quit;

回到SSH界面,我们进入刚刚上传的源程序的database文件夹,导入数据库:

1
mysql -u root -p books < books.sql

这样,我们就安装并配置好了数据库。

5, 运行程序

由于前端和爬虫是两部分,我们使用screen来后台运行这两部分程序。如果您还没有安装screen, 请执行下面的命令安装。

1
apt-get install screen -y

安装完毕后,我们首先运行前端程序。进入frontend文件夹,然后执行:

1
2
screen -S frontend
setsid java -jar novel-front-2.4.0.beta.jar

可以发现屏幕上出现了好多好多各色文字,这是正常的,不用担心。此时我们访问小说站域名,如果能看到前端的框架,但是没有任何小说,说明前端运行正常。使用ctrl + a + d组合键退出该screen.

然后,我们接着运行爬虫程序。进入crawler文件夹,执行:

1
2
screen -S crawler
java -jar crawl-book-1.0-SNAPSHOT.jar

此时爬虫就开始运行了。使用ctrl + a + d组合键退出该screen. 稍等片刻,网站上就可以看到爬的小说了。大约爬一天左右,小说站就有足够的规模了。

 

至此,我们使用小说精品屋搭建好了功能完备的小说站。如果您想自定义您的网站外观,请解压上面的前端jar文件并编辑相应的文件


   
Quote
Share: