ubuntu系统下安装pyspider:搭建pyspider服务器新手教程
首先感谢“巧克力味腺嘌呤”的博客和Debian 8.1 安装配置 pyspider 爬虫,本人根据他们的教程在ubuntu系统中进行了实际操作,发现有一些不同,也出现了很多错误,因此做此教程,为新手服务。
安装pyspider
安装pyspider请参考另一篇:ubuntu系统下安装pyspider及问题解决
安装mysql
- sudo apt-get install mysql-server
- sudo apt-get install mysql-client
- sudo apt-get install libmysqlclient-dev
- 安装过程中会提示设置密码什么的,注意设置了不要忘了,安装完成之后可以使用如下命令来检查是否安装成功:
sudo netstat -tap | grep mysql
sudo netstat -an|grep 3306
通过上述命令检查之后,如果看到有mysql 的socket处于 listen 状态则表示安装成功。
使用root创建一个新的user,取名为pyspider
,密码为pyspider-pass
CREATE USER 'pyspider'@'%' IDENTIFIED BY 'pyspider-pass';
考虑到以后可能会做集群,所以用%而不是localhost
新建数据库
- create database taskdb;
- create database projectdb;
- create database resultdb;
用户授权(当然,有些权限你是可以不给的)
- GRANT SELECT, INSERT, UPDATE, REFERENCES, DELETE, CREATE, DROP, ALTER, INDEX, TRIGGER, CREATE VIEW, SHOW VIEW, EXECUTE, ALTER ROUTINE, CREATE ROUTINE, CREATE TEMPORARY TABLES, LOCK TABLES, EVENT ON `taskdb`.* TO 'pyspider'@'%';
- GRANT SELECT, INSERT, UPDATE, REFERENCES, DELETE, CREATE, DROP, ALTER, INDEX, TRIGGER, CREATE VIEW, SHOW VIEW, EXECUTE, ALTER ROUTINE, CREATE ROUTINE, CREATE TEMPORARY TABLES, LOCK TABLES, EVENT ON `projectdb`.* TO 'pyspider'@'%';
- GRANT SELECT, INSERT, UPDATE, REFERENCES, DELETE, CREATE, DROP, ALTER, INDEX, TRIGGER, CREATE VIEW, SHOW VIEW, EXECUTE, ALTER ROUTINE, CREATE ROUTINE, CREATE TEMPORARY TABLES, LOCK TABLES, EVENT ON `resultdb`.* TO 'pyspider'@'%';
查看数据库和数据表
- show databases;
show tables;
安装redis
- sudo apt-get install redis-server
Redis基本操作:
- redis-server #启动:
- redis-cli #查看是否启动
- 在终端输出:
- redis 127.0.0.1:>
- 127.0.0.1 是本机 IP , 是 redis 服务端口。现在我们输入 PING 命令。
- redis 127.0.0.1:> ping
- PONG
- 以上说明我们已经成功安装了redis。
- redis-server stop
- redis-server restart
- redis-server status
安装supervisor
- sudo apt-get install supervisor
创建默认的配置文件
- echo_supervisord_conf >/etc/supervisord.conf
本人直接这个命令出现了权限不足问题。使用sudo 也不行。解决方法是:在home目录创建配置文件,在移动到etc目录下。
- echo_supervisord_conf > supervisord.conf
- sudo mv supervisord.conf /etc/supervisord.conf
配置supervisor和pyspider
pyspider 的配置请各位看官参考:Command Line
下面贴的是我的配置
- {
- "taskdb": "mysql+taskdb://pyspider:pyspider-pass@127.0.0.1:3306/taskdb",
- "projectdb": "mysql+projectdb://pyspider:pyspider-pass@127.0.0.1:3306/projectdb",
- "resultdb": "mysql+resultdb://pyspider:pyspider-pass@127.0.0.1:3306/resultdb",
- "message_queue": "redis://127.0.0.1:6379/db",
- "phantomjs-proxy": "127.0.0.1:25555",
- "scheduler" : {
- "xmlrpc-host": "0.0.0.0",
- "delete-time":
- },
- "webui": {
- "port": ,
- "username": "heartblood",
- "password": "pyspider-pass",
- "need-auth": true
- }
- }
上面的配置文件我将其放置在/pyspider/conf.json
配置 supervisor
编辑/etc/supervisord.conf
- sudo gedit /etc/supervisord.conf
在最后添加下面的内容
- [program:pyspider]
- command=/usr/bin/pyspider -c /pyspider/conf.json
- autorestart=true
- autostart=true
- user=pyspider
- group=pyspider
- directory=/pyspider
- stderr_logfile=/pyspider/pyspider_err.log
- stdout_logfile=/pyspider/pyspider.log
注意,配置文件里不支持~或者$HOME这类东西,请用绝对路径。log文件请自己事先建好,supervisord并不会自动生成。
保存后,通过下面的命令重启 supervisord
- supervisord #启动
supervisorctl reload #重新启动
本人使用这个命令时出现了错误。解决方法是用supervisord命令启动服务端,再重启就可以了。
大功告成
到此为止,pyspider 应该就运行在你的ip:5555
上了
如果提示错误,可能是:
- mysql connect没有安装
- 密码太长太复杂,请尝试关闭插件并设置简单密码
- 可以查看pyspider_err.log并排除错误
诡异问题解决
问题1:
import mysql.connector
ImportError: No module named “mysql”
解决方法:
- 执行pip search mysql-connector | grep --color mysql-connector-python
- 输出信息:
- mysql-connector-python-rf (2.1.) - MySQL driver written in Python
- mysql-connector-python (2.0.) - MySQL driver written in Python
- 使用pip install mysql-connector-python-rf==2.1.3就可以了
问题2:
import redis
ImportError: No module named 'redis'
解决方法:
- 安装reids-py
- pip install redis
ubuntu系统下安装pyspider:搭建pyspider服务器新手教程的更多相关文章
- CentOS和Ubuntu系统下安装 HttpFS (助推Hue部署搭建)
不多说,直接上干货! 我的集群机器情况是 bigdatamaster(192.168.80.10).bigdataslave1(192.168.80.11)和bigdataslave2(192.168 ...
- Ubuntu系统下安装并配置hive-2.1.0
说在前面的话 默认情况下,Hive元数据保存在内嵌的Derby数据库中,只能允许一个会话连接,只适合简单的测试.实际生产环境中不使用,为了支持多用户会话, 则需要一个独立的元数据库,使用MySQL作为 ...
- win7(windows 7)系统下安装SQL2005(SQL Server 2005)图文教程( Win7 SQL Server2005 安装教程)
win7(windows 7)系统下安装SQL2005(SQL Server 2005)图文教程 由于工作需要,今天要在电脑上安装SQL Server 2005.以往的项目都是使用Oracle,MS的 ...
- ubuntu系统下安装pyspider:安装命令集合。
本篇内容的前提是你已安装好python 3.5.在ubuntu系统中安装pyspider最大的困难是要依赖组件经常出错,特别是pycurl,但把对应的依赖组件安装好,简单了.下面直接上代码,所有的依赖 ...
- CentOS和Ubuntu系统下安装vsftp(助推大数据部署搭建)
不多说,直接上干货! 同时,声明,我这里安装的vsftp,仅仅只为我的大数据着想,关于网上的复杂安装,那是服务和运维那块.我不多牵扯,也不多赘述. 一.CentOS系统里安装vsftp 第一步:使用y ...
- ubuntu系统下安装pip3及第三方库的安装
ubuntu系统下会自带python2.x和python3.x坏境,不需要我们去安装.并且ubuntu系统下还会自动帮助我们安装python2.x坏境下的pip安装工具, 但是没有python3.x坏 ...
- Python 基础之在ubuntu系统下安装双版本python
前言:随着python升级更新,新版本较于老版本功能点也有不同地方,作为一个初学者应该了解旧版本的规则,也要继续学习新版本的知识.为了能更好去学习python,我在ubuntu安装python2和py ...
- ubuntu系统下安装gstreamer的ffmpeg支持
当您在安装gstreamer到您的ubuntu系统中时,为了更好地进行流媒体开发,需要安装ffmpeg支持,但一般情况下,直接使用 sudo apt-get install gstreamer0.10 ...
- Ubuntu系统下安装Eclipse
第一步:查看操作系统位数. 打开终端,输入file /sbin/init 可以看到笔者Ubuntu系统为32位,读者可以使用该命令获取自己机器上的操作系统位数. 这一步是最至关重要的一步,笔者机器处理 ...
随机推荐
- 关于pthreads的使用
产品想实现PHP端的多线程下载 百度了下找到了一个方法,通常需要开启PHP线程安全策略,就是 编译安装的时候 --enable-maintainer-zts 然后安装pthreads扩展, 但是pt ...
- pythone--002
元组就是不可修改: 字典的索引不是自增的. 元组和列表是: 默认 是key 通过get 没有这个key 是none get可以有默认值: 通过索引 没有就报错. 检查字典中某个可以是否存在:ha ...
- spring中 的MD5 加密
//对密码进行加密(不需要使用其他Md5工具 .spring中有 在digestUtils) String password = DigestUtils.md5DigestAsHex( ...
- 24.OGNL与ValueStack(VS)-集合对象初步
转自:https://wenku.baidu.com/view/84fa86ae360cba1aa911da02.html 首先在LoginAction中增加如下字段并提供相应的get/set方法: ...
- 1.HTML编码解码URL替换--代码整理
public class HtmlCode { public static String encode(String str){ String s = ""; if (str.le ...
- VBA 使用QueryTables 中文乱码的处理
一般情况: cnn = "OLEDB;Provider=IBMDA400;Data Source=TFB4001;User ID=;Password=;" Sql = " ...
- javarscript在HTML中的调用方式 (直接调用 和文件调用)
//文件调用<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF ...
- python之类的相关知识
面向对象技术简介 类: 用来描述具有相同的属性和方法的对象的集合.它定义了该集合中每个对象所共有的属性和方法.对象是类的实例. 类变量:类变量在整个实例化的对象中是公用的.类变量定义在类中且在函数体之 ...
- setTranslatesAutoresizingMaskIntoConstraints
[viewItem setTranslatesAutoresizingMaskIntoConstraints:NO]; 在给继承UIView的类设置此属性后,UIView的某些属性可能发生变化.例如f ...
- jenkins 没有maven选项,怎么办
第一步: 进入jenkins,点系统管理 第二:插件管理 点击“可选插件” 然后在右边的过滤输入框中输入搜索关键字: Maven Integration 或者 Pipeline Maven Int ...