centos7快速安全部署爬虫运行环境


centos快速部署爬虫所需的环境, 避免走弯路! 以下所涉及其他博客的链接, 都是作者亲身测试有效的, 特此汇总

一、数据盘挂载

Linux 系统挂载数据盘

# 注意事项
echo '/dev/vdb1  /mnt ext4    defaults    0  0' >> /etc/fstab
mount -a

二、python环境

新装的CentOS 7安装python3

pip3安装
pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple -r requirements.txt

command 'gcc' failed with exit status 1报错解决方法
yum install python3-devel

三、mongodb安装

wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-4.2.15.tgz
Centos7下MongoDB下载安装详细步骤

最好不要用默认的端口27017, 并且一定要设置密码, 密码生成器, 防止被暴力破解

mongo.conf, 修改处仅供参考

dbpath=/mnt/mongodb/data
logpath=/mnt/mongodb/logs/mongo.log #事先创建该文件
logappend=true
journal=true
quiet=true
port=5010
fork=true #后台运行
bind_ip=0.0.0.0 #允许任何IP进行连接
wiredTigerCacheSizeGB=2 # 这个最好设置下, 防止内存一直增长
auth=true

注意事项

数据目录换成硬盘所在目录

启动:
cd /usr/local/mongodb/mongodb-linux-x86_64-3.6.13/bin
mongod -f /mnt/mongodb/mongo.conf

设置用户名, 密码
use admin
db.createUser({"user":"admin","pwd":"123456","roles":["root"]})
配置文件加上:auth=true

登录
use admin
db.auth('admin','123456')
第二种登录方法
mongo --port 5010 -u "admin" -p "123456" --authenticationDatabase "admin"


mongodb导出/备份命令
mongoexport -h localhost --port 5010 -u "admin" -p  "123456" -d test_db  -c  test_col  -o  /mnt/test.json --authenticationDatabase  admin
mongodump -h localhost --port 5010 -u "admin" -p "123456" -d test_db -o  /mnt --authenticationDatabase admin

可视化工具建议使用: Robo 3T

四、redis安装

centos安装redis+三种启动方式
CentOS7安装Redis4.0.2
redis允许远程访问并设置密码

密码和端口建议更改设置

redis.conf 修改处仅供参考

protected-mode no
port 5009
daemonize yes
requirepass your_password
进入src目录, 启动redis
cd /mnt/redis/redis-5.0.8/src
./redis-server /mnt/redis/redis-5.0.8/redis.conf

redis-cli命令全局使用
ln -s /mnt/redis/redis-5.0.8/src/redis-cli /usr/bin/redis-cli
auth "password" 

scrapy-redis配置格式
REDIS_URL = 'redis://:password@ip:port/0'

可视化工具推荐使用: RedisDesktopManager

五、scrapyd

Scrapyd使用详解
scrapyd 的安装和启动

default_scrapyd.conf 仅供参考

[scrapyd]
eggs_dir    = eggs
logs_dir    = logs
items_dir   =
jobs_to_keep = 100
dbs_dir     = dbs
max_proc    = 2000
max_proc_per_cpu = 100
finished_to_keep = 100
poll_interval = 5.0
bind_address = 0.0.0.0
http_port   = 5008
debug       = off
runner      = scrapyd.runner
application = scrapyd.app.application
launcher    = scrapyd.launcher.Launcher
webroot     = scrapyd.website.Root
find / -name default_scrapyd.conf
/usr/local/lib/python3.6/site-packages/scrapyd/default_scrapyd.conf

mkdir scrapyd
cd scrapyd
启动:nohup scrapyd &  
每次启动确保在scrapyd目录内运行该命令

六、gerapy

Gerapy 使用详解

默认是本地化启动,如果端口被占用请自行更改
nohup gerapy runserver 0.0.0.0:5007 &

七、代理ip池

推荐项目 proxy_pool

1) helper --> scheduler.py中设置获取及检查代理ip频率
scheduler.add_job(runProxyFetch, 'interval', seconds=15, id="proxy_fetch", name="proxy采集")
scheduler.add_job(runProxyCheck, 'interval', minutes=1, id="proxy_check", name="proxy检查")

检查代理可能会阻塞采集代理任务, 需要合理设定检查代理频率或并发
检查代理并发设置地方: helper --> check.py, 默认为20个线程
查看采集代理间隔时间是否按照设置的15s, 可以在proxyFetch.py中打印日志进行确认, 从而调整上述参数


2) fetcher --> proxyFetcher.py设置扩展代理
返回格式: host:ip


3) setting.py 检查代理可用性
VERIFY_URL = "https://www.baidu.com"
VERIFY_TIMEOUT = 5
MAX_FAIL_COUNT = 0 设置失败次数, 超过后从数据库进行删除(实际情况设定)


4) 程序启动
# 启动调度程序
nohup python proxyPool.py schedule &
# 启动webApi服务
nohup python proxyPool.py server &

或者sh start.sh

八、oss

图形化管理工具ossbrowser
ossutil的下载及安装操作

做爬虫怎能少得了备份, 推荐使用阿里云oss, 上传下载推荐ossutil, 较其他方式快

上传文件
nohup ./ossutil64 cp /mnt/youfile oss://youpath &

上传文件夹
nohup ./ossutil64 cp -r /mnt/youfolder oss://youpath &

下载文件
nohup ./ossutil64 cp oss://youpath/youfile /mnt/ &
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值