Skip to content

分布式爬虫环境配置

wpm edited this page May 27, 2017 · 15 revisions

这几天有用户反应环境配置比较麻烦,所以写了一篇文章,专门介绍如何搭建环境,主要是关于redis的配置。

下面我以ubuntu为例来讲解如何搭建环境

配置msyql

下面记录了如何在ubuntu16.04上安装mysql5.7的方法。


sudo apt install mysql-server

安装时会让你输入mysql root用户的密码,并确认密码

sudo apt install mysql-client

然后可以通过

ps aux|grep mysql

查看mysql是否安装成功并且已经启动

再通过

vim /etc/mysql/mysql.conf.d/mysqld.cnf

修改

bind-address = 127.0.0.1

bind-address = 0.0.0.0

这样的话,mysql才能监听远程的请求

一般,生产环境中,不建议直接使用root,我们通过mysql客户端新建一个用户weibospider,并给它赋予权限

mysql -u root -p

然后输入 安装mysql的时候输入的密码,进入mysql命令行后

grant all on . to weibospider@'%' identified by '123456';

这里我们并未先创建一个用户,而是直接运行赋权限的语句,它在执行的时候会先看有不有weibospider这个用户,有就使用,没有就创建,这里我们给该用户设置的密码是123456,权限*.*表示所有权限

然后再在mysql命令行中刷新一下

flush privileges;

最后重启mysql使之生效

/etc/init.d/mysql restart


上述是mysql5.7的安装过程,顺利的话,我们已经可以连接并且使用mysql了,但是由于mysql server默认编码是latin1,我们还需要做一些修改。先通过

show VARIABLES LIKE '%char%';

查看mysql编码,发现

character_set_server latin1

character_set_database latin1

我们先通过

sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf

[mysqld]域下加上以下内容

character-set-server=utf8

最后,在该文件默认添上下面内容

[mysql]
default-character-set=utf8

建议大家使用可视化工具(比如navicat或者datagrip)来操作mysql数据库

配置redis

好像大家的疑问都集中在redis的配置上,下面我详细说说

  1. 在要安装redis的目录下载好redis,比如我的路径是/home/ubuntu/program/,先需要切换到该目录(通过cd /home/ubuntu/program切换),然后通过wget进行下载

wget http://download.redis.io/releases/redis-3.2.9.tar.gz

  1. 解压下载好的压缩包

tar xzf redis-3.2.9.tar.gz

  1. 进入解压的目录

cd redis-3.2.9/

  1. 通过make编译,它会自己执行make install

make

  1. 启动redis看是否成功

src/redis-server

如果不成功就给我提issue,成功了就往下面看

  1. ctrl+c 停止redis,在redis-3.2.9/这个目录下修改redis.conf配置文件,主要是改这几点:(1)为redis设置密码 (2)让redis监听所有请求 (3)把redis进程改为守护进程

vim redis.conf

# Examples:
#
# bind 192.168.1.100 10.0.0.1
# bind 127.0.0.1 ::1

后面加一行

bind 0.0.0.0

它的作用是让redis监听所有ip请求

然后在

# Warning: since Redis is pretty fast an outside user can try up to
# 150k passwords per second against a good box. This means that you should
# use a very strong password otherwise it will be very easy to break.
#
# requirepass foobared

这里添加一行

requirepass weibospider

这里的作用是为redis设置密码,我设置的密码是weibospider,你们可以根据实际情况设置

然后在这里

# By default Redis does not run as a daemon. Use 'yes' if you need it.
# Note that Redis will write a pid file in /var/run/redis.pid when daemonized.
daemonize no

daemonize no改成 daemonize yes

然后再将改动保存,退出。(这里我并没介绍vim的操作,大家如果这里操作有难度,可以自行google解决啊)

  1. 这次通过配置文件启动redis,同样在redis-3.2.9/这个目录下,通过

src/redis-server redis.conf

启动redis

  1. 其实,到这里,redis就已经启动了。可以通过

ps aux|grep redis

查看redis进程是否存在

安装python3

python3的安装,我这里就不多讲了,我写过一篇文章,大家可以看看,主要是要安装ssl模块

文章链接:http://www.rookiefly.cn/detail/86