-
Notifications
You must be signed in to change notification settings - Fork 1.2k
分布式爬虫环境配置
这几天有用户反应环境配置比较麻烦,所以写了一篇文章,专门介绍如何搭建环境,主要是关于redis的配置。
下面我以ubuntu为例来讲解如何搭建环境
下面记录了如何在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的目录下载好redis,比如我的路径是
/home/ubuntu/program/
,先需要切换到该目录(通过cd /home/ubuntu/program
切换),然后通过wget
进行下载
- 解压下载好的压缩包
tar xzf redis-3.2.9.tar.gz
- 进入解压的目录
cd redis-3.2.9/
- 通过
make
编译,它会自己执行make install
make
- 启动redis看是否成功
src/redis-server
如果不成功就给我提issue,成功了就往下面看
- 按
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解决啊)
- 这次通过配置文件启动redis,同样在
redis-3.2.9/
这个目录下,通过
src/redis-server redis.conf
启动redis
- 其实,到这里,redis就已经启动了。可以通过
ps aux|grep redis
查看redis进程是否存在
python3的安装,我这里就不多讲了,我写过一篇文章,大家可以看看,主要是要安装ssl模块