首先感谢“巧克力味腺嘌呤”的博客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 状态则表示安装成功。

  mysql -u root -p 
  -u 表示选择登陆的用户名, -p 表示登陆的用户密码,上面命令输入之后会提示输入密码,此时输入密码就可以登录到mysql。

使用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服务器新手教程的更多相关文章

  1. CentOS和Ubuntu系统下安装 HttpFS (助推Hue部署搭建)

    不多说,直接上干货! 我的集群机器情况是 bigdatamaster(192.168.80.10).bigdataslave1(192.168.80.11)和bigdataslave2(192.168 ...

  2. Ubuntu系统下安装并配置hive-2.1.0

    说在前面的话 默认情况下,Hive元数据保存在内嵌的Derby数据库中,只能允许一个会话连接,只适合简单的测试.实际生产环境中不使用,为了支持多用户会话, 则需要一个独立的元数据库,使用MySQL作为 ...

  3. win7(windows 7)系统下安装SQL2005(SQL Server 2005)图文教程( Win7 SQL Server2005 安装教程)

    win7(windows 7)系统下安装SQL2005(SQL Server 2005)图文教程 由于工作需要,今天要在电脑上安装SQL Server 2005.以往的项目都是使用Oracle,MS的 ...

  4. ubuntu系统下安装pyspider:安装命令集合。

    本篇内容的前提是你已安装好python 3.5.在ubuntu系统中安装pyspider最大的困难是要依赖组件经常出错,特别是pycurl,但把对应的依赖组件安装好,简单了.下面直接上代码,所有的依赖 ...

  5. CentOS和Ubuntu系统下安装vsftp(助推大数据部署搭建)

    不多说,直接上干货! 同时,声明,我这里安装的vsftp,仅仅只为我的大数据着想,关于网上的复杂安装,那是服务和运维那块.我不多牵扯,也不多赘述. 一.CentOS系统里安装vsftp 第一步:使用y ...

  6. ubuntu系统下安装pip3及第三方库的安装

    ubuntu系统下会自带python2.x和python3.x坏境,不需要我们去安装.并且ubuntu系统下还会自动帮助我们安装python2.x坏境下的pip安装工具, 但是没有python3.x坏 ...

  7. Python 基础之在ubuntu系统下安装双版本python

    前言:随着python升级更新,新版本较于老版本功能点也有不同地方,作为一个初学者应该了解旧版本的规则,也要继续学习新版本的知识.为了能更好去学习python,我在ubuntu安装python2和py ...

  8. ubuntu系统下安装gstreamer的ffmpeg支持

    当您在安装gstreamer到您的ubuntu系统中时,为了更好地进行流媒体开发,需要安装ffmpeg支持,但一般情况下,直接使用 sudo apt-get install gstreamer0.10 ...

  9. Ubuntu系统下安装Eclipse

    第一步:查看操作系统位数. 打开终端,输入file /sbin/init 可以看到笔者Ubuntu系统为32位,读者可以使用该命令获取自己机器上的操作系统位数. 这一步是最至关重要的一步,笔者机器处理 ...

随机推荐

  1. OpenACC 书上的范例代码(Jacobi 迭代),part 1

    ▶ 使用Jacobi 迭代求泊松方程的数值解 ● 原始串行版本,运行时间 2272 ms #include <stdio.h> #include <stdlib.h> #inc ...

  2. sqoop1 与sqoop2的对比

    Sqoop是一款开源的工具,主要用于在Hadoop和传统的数据库(mysql.postgresql等)进行数据的传递,可以将一个关系型数据库(例如:MySQL.Oracle.Postgres等)中的数 ...

  3. HiveThrift

    Hive具有一个可选的组件叫HiveServer或HiveThrift,其允许通过指定端口访问Hive.Thrift是一种软件架构,用于跨语言的服务开发. hive最常用的访问方式是采用cli访问,不 ...

  4. spring boot 自定义异常

    1.创建一个异常: public class LdapQueryException extends Exception { private Integer code; private String m ...

  5. XCode iOS Simulator 模拟器

    XCode7.3下,默认带了iOS 9.3 Simulator,iOS 8.4 Simulator总是安装不成功. mac os X,里的模拟器,全屏 ,windows win键+1/2/3 切换全屏 ...

  6. as3 object与dictionary区别

    AS3中的Dictionary类(flash.utils.Dictionary)是一个新的AS类.Dictionary类和Object唯一的区别在于:Dictionary对象可以使用非字符串作为键值对 ...

  7. MAC CURL : Error:35 SSL certificate problem: Couldn't understand the server certificate format

    起因,使用极光推送最新的版本,里面curl使用https请求,而导致证书出错.一看就懵逼了,从来没遇到过这样的问题,二话不说直接百度,然后就更加懵逼了,搜出来的没有中文内容,对于我这种英文渣来说,简直 ...

  8. Python基础杂点

    Black Hat Python Python Programming for Hackers and Pentesters by  Justin Seitz December 2014, 192 p ...

  9. 练习:自己写一个容器ArrayList集合 一一数组综合练习2

    package cn.bjsxt.collection; /** * 自己实现一个ArrayList */ import java.util.ArrayList; import java.util.L ...

  10. C#整合VS2010和NUnit

    软件下载 .Net单元测试工具 NUnit下载:http://www.nunit.org/index.php?p=download,最新的为NUnit-2.6.0.12051.msi,下载安装. VS ...