业务场景:爬虫应用爬取图片过多,导致磁盘或者inode会被占满,也会占用磁盘IO,于是结合fastdfs进行使用,将文件上传至fastdfs服务器中。
配置出现的问题
pyspider是基于python的爬虫框架,而且运行在python虚拟环境virtualenv中,
与服务器python环境是隔离的,所以本来以为只要在虚拟python环境中安装fastdfs模块即可,然后网上
下载了fdfs_client-py-master.zip包,直接用虚拟环境的python安装模块,结果服务器调用模块正常,
但是在webui界面直接调用fastdfs模块的时候,显示找不到模块。
按照公司开发说web界面的爬虫脚本是放在数据库的,按理说应该调取的也是虚拟环境的python。
于是尝试了另一种方式,直接把配置好的文件夹放在虚拟环境的site-packages下面,结果成功了。
下面就介绍一下如何部署~
部署过程
FastDFS和pyspider部署步骤省略,安装步骤太长,不在此啰嗦了~
重要!!!
安装部署FastDFS的时候,这里需要记住FastDFS的:
tracker_server地址
http.tracker_server_port的端口号
1.下载fdfs_client-py-master.zip安装包
wget https://github.com/hay86/fdfs_client-py/archive/master.zip
2.包解压出来后,只要fdfs_client文件夹即可,在fdfs_client文件夹中找到client.conf进行修改
3.将上面所说的tracker_server和http.tracker_server_port对应信息填写到配置文件中即可。
4.最后将整个fdfs_client文件夹放入pyspider虚拟环境中,
我的服务器是放在了/pyspider/lib/python2.7/site-packages/中。
测试调用
在pyspider的web界面中随便调试一个爬虫环境,
写入from fdfs_client.client import * 进行调试。到此ok~
网友评论