1.python 的安装
在装过好几台服务器后总结出了最短且有效的装 python 的方法,参考了这篇文章这里简要总结一下
yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel
wget https://www.python.org/ftp/python/3.6.3/Python-3.6.3.tgz
mkdir /usr/local/python3
tar -zxvf Python-3.6.3.tgz
cd Python-3.6.3
./configure --prefix=/usr/local/python3
make && make install
ln -s /usr/local/python3/bin/python3 /usr/bin/python3 创建 python3 的软链接
ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3 创建 pip3 的软链接
- 最后命令行下输入
pip3
和python3 -V
验证一下是否都成功
2.mongodb / mysql的安装
在从机上都装上 mongodb,爬取的数据都存在各自的服务器上,之后再汇总。
vim /etc/yum.repos.d/mongodb-org-3.4.repo
[mongodb-org-3.4] name=MongoDB Repository baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.4/x86_64/ gpgcheck=1 enabled=1 gpgkey=https://www.mongodb.org/static/pgp/server-3.4.asc
将这段代码复制粘贴到刚才创建的mongodb-org-3.4.repo文件中。
下载安装MongoDB
yum -y install mongodb-org
systemctl enable mongod.service
设置开机启动
编辑配置文件,注释掉bindlp,并重启mongodb
systemctl restart mongod.service //重启mongodb服务
systemctl stop mongod.service //停止 mongodb
3.利用 pip3 安装 scrapy 等
先安装Twisted组件,再安装scrapy
pip3 install scrapyd
pip3 install scrapy
pip3 install pymongo
pip3 install redis
pip3 install redis-client
安装完以上内容,基本能满足分布式从机的爬取。但是在命令行直接输入scrapy
和 scrapyd
发现会报错,提示command not found
,这里可以通过创建软链接解决问题。
find / -name scrapy
找到系统中scrapy所在的目录,选择在bin
目录下的路径
ln -s /usr/local/python3/bin/scrapy /usr/bin/scrapy
这是在我的路径下创建的软链接.scrapy
命令行再输入scrapy发现已经可用
主机配置
以上完成了从机的配置,接下里配置主机
主机和从机不同在于它需要提供 redis 服务来保存请求队列,所以主要是安装 redis 服务。参考了众多文章后,还是推荐这篇文章
这里梳理一下过程:
yum install gcc
wget http://download.redis.io/releases/redis-3.0.6.tar.gz
tar zxvf redis-3.0.6.tar.gz
cd redis-3.0.6 建议将文件夹名字修改为redis看着简洁一些
vim redis.conf 打开 redis 配置文件
#bind 127.0.0.1 将绑定 ip 注释掉,以便远程访问
daemonize yes 在 redis.conf 中修改该选项为 yes,即后台运行
requirepass 后加上登陆密码
protected-mode no 关闭保护模式,接着保存退出
mkdir /etc/redis
cp redis.conf /etc/redis/6379.conf 将 redis.conf 复制一份名为 6379.conf 到指定目录
cd utils 在原redis目录下打开utils文件夹
vim redis_init_script 修改启动脚本,并在开头添加如下代码
#!/bin/sh
#chkconfig: 2345 90 10
#description: Redis is a persistent key-value database
cp redis_init_script /etc/init.d/redisd 将启动脚本复制为 redis
chkconfig redisd on 设置开机启动
service redisd start 启动 redis
service redisd stop 关闭 redis
版权声明:本文为weixin_38924500原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。