前言
最近想看书,明天开始搭。
搭建完了,明天开始写。
想了一下正文前面部分本来想直接给个之前文章的链接的,但是想了想,为了完整性,还是给引用过来了,反正都是我自己写的,对吧。
正文
1. 云服务器的选择
这一部分和之前的那一部分其实是没有区别的,但是为了文章的完整性,我还是直接从那边把这一部分截取过来了。(参考来自:[无敌小白版]阿里云服务器+宝塔halo个人博客搭建)
云服务器选择的话,个人觉得虚拟主机和云服务器都可以没有太大的所谓,但是鉴于云服务器比虚拟主机的价格实在是便宜太多了,所以还是建议选云服务器吧,两者区别不大。地区的话国内外都可,虚拟主机国内偏便宜,云服务器国外偏便宜。国内优点是网速快,但是缺点要备份;国外优点是网速慢对于国内而言,但是不用备份。
机器 | 描述 | 价格/元 |
---|---|---|
华北2虚拟主机(1年) | Linux+CPU单核+内存1G+每月高速流量200G+网页空间5G+数据库500M+峰值带宽5Mbps | 500 |
新加坡虚拟主机(1年) | Linux+CPU单核+内存1G+每月高速流量200G+网页空间5G+数据库500M+峰值带宽5Mbps | 632 |
轻量应用服务器(1年) | CentOS+CPU2核+内存1G+每月流量400G+ESSD40G+峰值带宽3Mbps | 468 |
新加坡轻量应用服务器(1年) | CentOS+CPU2核+内存1G+每月流量1024G+ESSD40G+峰值带宽30Mbps | 288 |
这里以新加坡轻量应用服务器为例子,首先登录阿里云账号,点击进入控制台>轻量应用服务器>服务器列表>创建服务器>立即购买,按照以下来选择轻量应用服务器:
一级选项 | 二级选项 | 三级选项 |
---|---|---|
地域和可用性 | 亚太 | 新加坡 |
镜像 | 系统镜像 | CentOS 7.3 |
套餐配置 | #因人而异,一般最便宜的就够了 | |
额外数据盘 | #因人而异,我的是0GB | |
购买市场 | #因人而异 | |
到期自动续费 | #建议勾上,不然写了很久的ebook突然被释放了那哭死 | |
购买数量 | 1 |
购买之后在控制台>轻量应用服务器>服务器列表中,就可以看见我们购买成功的轻量应用服务器了,点击进去。在概览>应用搭建>站点设置可以看见我们的域名还没有被绑定与解析,这个我们之后在做。
在安全>防火墙下可以看到防火墙的规则,默认放行端口为80、443、22。这里我们点击添加规则,规则如下。我们放行端口8888和端口8083,这两个端口分别是宝塔默认端口和Calibre-web默认端口。在放行完端口之后,我们便可以开始安装宝塔了。(这一部分和之前不太一样)
应用类型 | 协议 | 端口范围 | 备注 |
---|---|---|---|
自定义 | TCP | 8888 | #随便填 |
自定义 | TCP | 8083 | #随便填 |
2. 宝塔面板安装
A. 服务器连接
服务器连接,我们将会和上一篇文章一样,直接从阿里云提供的网页进行远程ssh连接。首先,我们去到控制台>轻量应用服务器>服务器列表,可以看到我们购买好的服务器,当然我们刚才已经进行过端口放行了,只是再重复一遍。进入到进入到服务器运维>远程连接>客户端>远程连接,我们会看见阿里云直接给我们提供了命令行Terminal。我们此刻已经远程ssh连接完成了。
B. 宝塔面板安装
宝塔的安装需要超级用户root的权限,所以如果以下信息的朋友,请先输入sudo su root
命令。
Loaded plugins: fastestmirror
You need to be root to perform this command.
输入完sudu su root
转换为root用户后,输入宝塔安装命令:
yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh
等待一会儿后,安装就完成了(如果期间提示(y/n)选择,选y就可以。)。我们的控制台上出现了以下输出内容。这啥我们的服务器宝塔面板的访问地址,乱码是为了服务器安全,我们把这些信息给截图保存下来,如果忘记了可以在服务器的服务器运维>远程连接>远程连接中,输入bt default
重新查看。
外网面板地址:`http://外网IP:端口号/乱码`
外网面板地址:`http://内网IP:端口号/乱码`
username:xxxxxxxx
password:yyyyyyyy
我们复制http://外网IP:端口号/乱码
到浏览器打开,会发现宝塔已经被安装好了。接着点同意,他会要求注册账号,于是便注册账号。首次进入宝塔面板会有软件的推荐安装,这个我们直接关掉,我们只需要后面从软件商城中自行安装docker和nginx就好了。
首先,在左侧看到安全>防火墙,会发现与阿里云的放行端口相似。事实上,是一模一样,在阿里云放行了什么端口,我们就在这里的防火墙放行什么端口。宝塔默认放行端口80、22、8888,但是没有放行端口443和8083。于是便在防火墙栏低下输入端口与备注/说明,点击放行,依此放行443和8083.
放行端口 | 端口 | 备注/说明 | 放行 |
---|---|---|---|
443 | #可以不填,建议填阿里云自带放行端口 | ||
8083 | #可以不填,建议填Calibre-web放行端口 |
C. Docker安装
在安装完宝塔,和放行完端口之后。安装宝塔的最重要的两件事情来了:
- 安装Docker:为了管理Calibre-web
- 安装Nginx:为了反向代理
首先我们进行Docker的安装,我们去往左侧菜单栏软件商店>应用搜索,搜索Docker,然后点击Docker管理器>安装>确定。我安装的版本的Docker管理器-3,过程会需要耗费点时间,请耐心等待。
Docker管理器安装结束后,终于准备开始我们的Calibre-web安装了,o( ̄▽ ̄)ブ撒花。
3. Calibre-web安装
A. 进行安装
在安装完Docker之后,我们直接用ssh命令行来拉取Calibre-web,而不是通过宝塔面板(因为文章里面是这样做的=。=,我也就跟着有样学样。)进入到进入到服务器运维>远程连接>客户端>远程连接,开启命令行Terminal。
首先,拉取镜像,输入以下命令。(拉取镜像时间可能稍微有点长,请耐心等待...)
docker pull ctiself/calibre-web
然后,创建容器,输入以下命令。
docker create --name=calibre -v /docker/calibre:/config -v /mnt/books/calibre:/books -p 8083:8083 ctiself/calibre-web
最后启动容器,输入以下命令。
docker start calibre
到这一步,Calibre-web就创建并且启动好了。我们直接输入http://IP:8083
进行查询。相信大家此刻能够很清楚的看到这一画面了,这就证明,我们即将要成功了。
但是,请不要太激动,请先不要动任何这个页面上面的任何东西,因为这个网站少了一个很严重的.db文件(视频里面说的,我也没有测试过)。
回到宝塔面板http://外网IP:端口号/乱码
,输入用户名和密码。去到文件上方的根目录>mnt>books>calibre上传一个metadata.db文件。文件下载地址在下方。(参考来自:妈妈再也不用担心我没书看了!服务器搭建一个个人图书馆!走到哪里就带到哪里!)
文件:metadata.db
链接: https://pan.baidu.com/s/15cfWwkTRmcajTkGt2FPAGg
提取码: crew
--来自百度网盘超级会员v6的分享
上传文件之后,便可以开始对配置文件进行操作了。对于基本配置的操作,最早的参考网址已经被删除了,找到一个来自简书的教程。(参考来自:建站第四篇 使用Docker部署calibre-web私人云书库)
首先是Library Configuration的配置,在Location of Calibre database内输入/books
接着,Server Configuration的配置不用更改;
我们直接跳跃到Logfile Configuration,在Location and name of logfile (calibre-web.log for no entry)内输入/config/calibre-web.log
接下来是Feature Configuration,其实这个地方的点法因人而异,我是仿造的妈妈再也不用担心我没书看了!服务器搭建一个个人图书馆!走到哪里就带到哪里!里面的点法。但是,无论如何得点击一个允许上传吧,不然怎么上传书呢?
最后是External binaries,由于本Calibre-web自带电子书转换,所以我们跟着填写即可,首先点击 Use calibre's ebook converter,然后分别在Path to convertertool和Location of Unrar binary输入/usr/bin/ebook-convert
和/usr/local/bin/unrar
然后,点击Submit提交~!然后会显示Calibre-Web configuration updated
然后我们点击Login,进入到登陆页面,默认的用户名和密码为admin
和admin123
,就发现到我们的图书馆啦!
B. 遗留问题(解决)
但是细心的朋友会发现,我的图书馆里面为什么会出现那么多莫名其妙的书。这让我觉得也很奇怪... 我怀疑是之前metadata.db的问题,但是由于多出来的书只有1945本,也不算特别多,一个一个删除掉就可以了。(至于为什么要删除掉,因为这些书的数据本来就不存在于你的网站上面,所以很奇怪...)
**如果你要问我要自己手动删除1945本,那要删除到猴年马月啊。**那1945本肯定不是用手删除啦,不然小手手都报废了,就此顺便安利一款好用的键鼠模拟软件(其实也是自己手删了一会儿实在受不了去找的,用这个大概自己录制一个删除的动作,大概一个晚上睡觉的时间就删除完了。)
文件:简单百宝箱键盘鼠标录制精灵软件 4.0
链接:https://pan.baidu.com/s/1od6tL056AHYx3o_zrmx7ow
提取码:9uvd
--来自百度网盘超级会员V6的分享
如果有同学发现是什么问题的话,请务必告诉我!这一个一个删除还是很恐怖的。
上面那个键鼠录制软件还是很好用的,但是问题已经找到了,的确是metadata.db的关系,前文的作者估计是从自己已经有的书库里面下载下来的,确实能用,但是缺点就是会出现1945本不存在/books这个路径的书,需要一个一个路径删除。上网的metadata.db已经是星海自己删了1945个,没有任何书的.db文件了。(也就是上文已经是最新的了,应该不会出现问题的。)
大部分童鞋如果没有这个文件,都会出现下面这个问题。
后来发现是因为This app requires you to have an existing calibre database at the /books location,具体问题请看DB location is not valid, please enter correct path #30,有详细解释,这里也就不过多赘述了。
还是想多啰嗦一下,上面Github问题中,也提供了如何制造一个全新metadata.db的方法,通过Calibre,只是星海没有意识到这个问题,傻傻的删了一个晚上= =。所以人还是要多思考呀。如果星海的失效了的话,这里还有一个来自Google Drive的metadata.db,不过国内的小伙伴无法下载,需要VPN。
4. 域名解析与反向代理
很好哈,我们又来到了这个域名解析和反向代理了,但是这次的反向代理要比之前简单得多,但是在此之前呢,同样为了完整性,我将会照搬[无敌小白版]阿里云服务器+宝塔halo个人博客搭建内关于域名解析与反向代理的一大部分内容,就是这么偷懒~。
A. 域名解析
首先,说到域名解析,我们首先得购买域名对不对,直接通过阿里云购买域名即可,进入控制台>域名>域名列表>域名注册,通过查询域名,找到一个自己喜欢的而且没有被注册的域名,然后加入清单>立即结算>立即购买,付完款之后,就会发现域名已经在控制台>域名>域名列表下面了。我们直接在我们选好的域名行上,找到操作>解析>添加记录,添加记录的格式如下:
一级选项 | 二级选项 |
---|---|
记录类型 | A-将域名指向一个IPV4地址 |
主机记录 | xxx.你购买的一级域名 |
解析线路 | 默认 |
记录值 | #云服务器的公网ip |
TTL | 10分钟 |
这里有两个需要解释的地方,一个是域名,一个是云服务器的公网ip。
- 对于域名而言,又分为一级域名和二级域名,这里主机记录中的你购买的一级域名,其实就是你购买的域名字符串+域名后缀,比如说你买了一个
seanzou.com
,那么域名字符串就是seanzou
,域名后缀就是com
,所以这个地方主机记录应该是xxx.seanzou.com
。值得注意的是xxx.seanzou.com
这个地方是一个二级域名,xxx
可以是任何东西,比如ebook
,比如blog
都是可以的,这个地方我们是个ebook,电子书嘛,ebook,所以我们一般将主机记录设为ebook.seanzou.com
,也就是本站。 - 对于云服务器的公网ip查询,请进入控制台>轻量应用服务器>服务器列表>你所购买的服务器>概览>服务器信息>IP地址这一栏,会发现有一个(公)和一个(内),我们选择公网的IP地址。也就是
(公)xxx.xxx.xxx.xxx
后面这xxx.xxx.xxx.xxx
一串。
好了,这里域名解析已经完成了,但是通常为了保险起见,我都会去轻量服务器里面再域名解析一遍。即进入控制台>轻量应用服务器>服务器列表>你所购买的服务器>站点设置>域名>添加域名,输入域名ebook.seanzou.com
即可(这里以我的在线图书馆为例),然后确认,但是通常会显示域名已解析,那就说明我们之前解析成功了。很好,目前为止域名解析已经完成了,剩下的就是反向代理,反向代理我们用的是宝塔面板来安装。
B. Nginx反向代理
好der,然后我们又回到了反向代理这个地方,要遇到我们的老同学了Nginx,不过这次Nginx并没有那么可怕,这次并没有太多复杂的操作,但是无论如何,我们先安装Nginx吧!
我们看往左侧菜单栏软件商店>应用搜索,搜索Nginx,然后点击安装>Nginx 1.21.0>极速安装>提交>确定。我安装的版本的Nginx 1.21.0,过程会需要耗费点时间,请耐心等待。
等待Nginx安装完毕后,我们点击左侧网站>添加站点,输入如下后点击提交(注意这里的域名是我们的一级域名seanzou.com
,而不是二级域名)。
一级选项 | 二级选项 |
---|---|
域名 | seanzou.com |
备注 | seanzou_com(一般为自动填充) |
根目录 | /www/wwwroot/seanzou.com(一般为自动填充) |
FTP | 不创建 |
数据库 | 不创建 |
PHP版本 | 纯静态 |
网站分类 | 默认分类 |
提交后我们会发现在网站管理中会出现我们刚刚添加的站点seanzou.com
,我们点击同行的操作>设置,在域名管理中输入我们的二级域名ebook.seanzou.com
,然后点击添加。
到目前为止,不要气馁,已经快结束了,而且接下来的一步很重要,因为Nginx由于版本的不同,配置文件可能会有很大的不同。你不会在期待我这句话吧?(笑)但是其实这次会比上次简单的多。
去到域名管理同栏的,反向代理(为什么这次那么简单,Halo那么复杂,果然是Halo有问题~),点击添加反向代理。(反向代理参考自:VPS服务器Docker搭建Calibre-web个人电子书库教程)代理名称随意填写,目标URL为http://127.0.0.1:8083
即可完成。具体操作如下图。
不得不说,这张图好清晰。感觉比之前用表格清晰多了。O(∩_∩)O。
啊,对了,忘记说了。到这里就~~
完结撒花~★,°:.☆( ̄▽ ̄)/$:.°★ 。 又一篇文章完成咯~~
更新
- 于2021年7月16日0:08,完成对[无敌小白版]阿里云服务器+Calibre在线图书馆搭建的创作。
致谢
- 妈妈再也不用担心我没书看了!服务器搭建一个个人图书馆!走到哪里就带到哪里!
- 建站第四篇 使用Docker部署calibre-web私人云书库
- [无敌小白版]阿里云服务器+宝塔halo个人博客搭建
- VPS服务器Docker搭建Calibre-web个人电子书库教程
Q.E.D.