之前用来搭建小说网站的 VPS 被墙了,连接国内搜索引擎似乎出了问题,导致在搜索的时候出了问题,好多小说都搜不到。

昨晚重新买了一台配置更高的服务器,重新部署。

这里记录一下安装过程。

感谢作者提供的项目:https://github.com/howie6879/owllook

作者写的安装教程:https://mp.weixin.qq.com/s/0CqLiKsyDQ-pVmeo3R-UlA

然后是我搭建的演示站:book.uud.me

以下安装教程基于 Centos 7

1584413318.jpg

安装基本组件

系统编码改为UTF8

export LANG=en_US.UTF-8

更新系统:

yum -y update

安装EPEL源:

yum -y install epel-release

安装基本组件:

yum -y install wget git curl screen bzip2

安装Redis

安装Redis:

yum -y install redis

运行Redis并设置开机自启动:

systemctl start redis
systemctl enable redis

安装mongodb

新建一个repo源,安装mongodb:

vi /etc/yum.repos.d/mongodb-org-4.0.repo

写入:

[mongodb-org-4.0]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.0/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.0.asc

直接yum安装:

yum -y install mongodb-org

启动mongodb并设置开机启动:

systemctl start mongod
systemctl enable mongod

记录一下安装Anaconda的坑

安装Anaconda

国内服务器可以用清华的镜像站:https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/

安装Anaconda用于管理Python环境:

wget https://repo.anaconda.com/archive/Anaconda3-2019.10-Linux-x86_64.sh
chmod -R a+x Anaconda3-2019.10-Linux-x86_64.sh
./Anaconda3-2019.10-Linux-x86_64.sh

接下来会出现一堆的License许可声明,一路回车向下,或者不想看声明的,可以直接按q:

20200301160345

直到看到要求输入yes或者no,输入yes,然后回车:

20200301160525

选择安装目录:

20200301160656

之后开始安装。

咳咳,然后尴尬地发现一直卡在Unpacking payload ……

搜索后找到:https://github.com/ContinuumIO/anaconda-issues/issues/11466

似乎是最新版的问题,在单核VPS上会出现。

那就安装旧版吧:

wget https://repo.anaconda.com/archive/Anaconda3-2019.07-Linux-x86_64.sh
chmod -R a+x Anaconda3-2019.07-Linux-x86_64.sh
bash Anaconda3-2019.07-Linux-x86_64.sh

看到进度条在动就是在安装:

1584413698.png

选择是否初始化,输入yes,回车:

1584413718.png

创建Python3.6环境

owllook 需要用到 Python3.6

使用 anaconda 创建 Python3.6环境

conda create -n python36 python=3.6

遇到的坑 -bash: conda: command not found

解决: export PATH=~/anaconda3/bin:$PATH

conda create - n python36 python = 3.6 时又遇到:CondaValueError: The target prefix is the base prefix. Aborting

解决: conda create --name files

终于成功安装:

1584413780.jpg
查看 python 环境

conda info --envs

1584413827.jpg

其中 * 号表示当前使用的 Python 环境

配置owllook

git clone https://github.com/howie6879/owllook
cd owllook

安装pipenv

pip install pipenv
pipenv install --python /root/anaconda3/envs/python36/bin/python3.6
#如果上面的命令出错,就运行以下两条命令:
pipenv run pip install pip==18.0
pipenv install

安装过程费时较长,耐心等待。

安装成功后,如图所示:

1584413836.jpg

修改配置文件

cd owllook
vi config/config.py

找到如下这段代码:

VAL_HOST = os.getenv('VAL_HOST', 'true')

改为:

VAL_HOST = os.getenv('VAL_HOST', 'false')

现在使用screen创建一个新的shell:

screen -S owllook

在新shell内运行程序:

python server.py

如果出现报错,尝试修改:

vi config/__init__.py

将里面的 os.environ['MODE'] = 'PRO'注释:

#os.environ['MODE'] = 'PRO'
mode = os.environ.get('MODE', 'DEV')
LOGGER.info('owllook 启动模式:{}'.format(mode))

按照作者的意思,如果还是出错,你应该把以下这些文件里的 os.environ['MODE'] = 'PRO'都注释了:

1584413845.jpg

改完之后,再次运行:

python server.py

看到如下图所示,就是正常运行了:

1583138976.jpg

此时,按下键盘组合键 Ctrl + A + D 退出 Screen 窗口

然后再次新建一个 Screen 用于运行排行榜爬虫:

Screen -S spider
cd /root/owllook/owllook/spiders
python spider_console.py

没报错就是正常运行了,需要等一段时间网站上的排行榜才会有内容,不用急。

反代网站

以上步骤完成后,浏览器打开 IP:8001 就能看到内容

如果需要域名访问则可以用 Nginx 反代

上面的步骤都没有安装 Nginx,先安装:

yum -y install nginx

然后新建网站配置:

vi /etc/nginx/conf.d/book.conf

写入:

server {
    listen       80;
    server_name  example.com www.example.com;

location / {
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_set_header Host $http_host;
    proxy_set_header X-NginX-Proxy true;

    proxy_pass http://0.0.0.0:8001;
    proxy_redirect off;

    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
    }
}

重启Nginx:

systemctl restart nginx

关闭防火墙和 SElinux:

systemctl stop firewalld.service
systemctl disable firewalld.service
vi /etc/selinux/config
SELINUX=disabled
setenforce 0

或者也可以安装宝塔面板,用宝塔面板进行反代,也是比较方便的。

而且如果你想修改默认的首页内容,有宝塔的文件管理改起来也比较方便。

Last modification:March 17, 2020
如果觉得我的文章对你有用,请随意赞赏