1. 环境准备

首先yum更新

yum update -y

  安装开发编译工具

yum install gcc gcc-c++ -y

  安装依赖库

yum install python-pip python-devel python-distribute libxml2 libxml2-devel python-lxml libxslt libxslt-devel openssl openssl-devel -y

  升级pip

pip install --upgrade pip

  

2.部署 mariadb

由于 CentOS 7 中 MySQL 数据库已从默认的程序列表中移除,我们使用 mariadb 代替。
yum install mariadb-server mariadb -y

  启动 mariadb 服务

systemctl start mariadb

  设置 root 密码

默认的root用户密码为空,你可以使用以下命令来创建 root 用户的密码:
(该步骤也可以跳过,password 后的 hKyAvK55 可以改为任何你希望设置的密码)

mysqladmin -u root password "hKyAvK55"

  检查是否安装成功

现在你可以尝试通过以下命令来连接到 Mysql 服务器

mysql -u root -p

  

然后输入您刚才设置的密码 ( 默认:hKyAvK55 ),如果一切正常,您应该可以在命令行看到以 MariaDB [(none)]> 或 mysql> 开头的提示了,说明连接成功。
此时输入 SHOW DATABASES; 并回车,应该可以看到类似下面这样的输出,说明一切正常。

mysql> SHOW DATABASES;
+----------+
| Database |
+----------+
| mysql |
| test |
+----------+
2 rows in set (0.13 sec)

  完成后,可以通过快捷键 Ctrl+C 或命令行键入 exit 来退出,进入下一步。

3.部署 redis

下载、解压安装包

下载安装包

wget http://download.redis.io/redis-stable.tar.gz

解压安装包

tar -xzvf redis-stable.tar.gz

移动解压包到 /usr/local 内

mv redis-stable /usr/local/redis

编译安装

cd /usr/local/redis
make
make install

  设置 redis 配置

设置配置文件路径

mkdir -p /etc/redis
cp /usr/local/redis/redis.conf /etc/redis/redis.conf

  修改 /etc/redis/redis.conf文件的 daemonize 配置项为如下:

daemonize yes

  启动 redis 服务

/usr/local/bin/redis-server /etc/redis/redis.conf

4.部署 pyspider

安装依赖

pip install --upgrade chardet
easy_install mysql-connector==2.1.3
easy_install redis

安装 pyspider

pip install pyspider

配置 pyspider

首先创建配置目录

mkdir /etc/pyspider
然后 /etc/pyspider 目录下创建 pyspider.conf.json,参考下面的内容。
具体配置的说明文档请参考 官方文档

{
"taskdb": "mysql+taskdb://root:hKyAvK55@127.0.0.1:3306/taskdb",
"projectdb": "mysql+projectdb://root:hKyAvK55@127.0.0.1:3306/projectdb",
"resultdb": "mysql+resultdb://root:hKyAvK55@127.0.0.1:3306/resultdb",
"message_queue": "redis://127.0.0.1:6379/db",
"webui": {
"username": "root",
"password": "hKyAvK55",
"need-auth": true
}
}
其中 mysql 配置中的 root 为您 mysql 的用户名, root:后面的 hKyAvK55 为您刚设置的密码。
webui 配置中的 username 及 password 为您访问 WebUI 时候需要的用户名,你也可以不设置用户名密码,直接将 need-auth 设为 false 即可。
启动服务

pyspider -c /etc/pyspider/pyspider.conf.json
如果一切正常,现在访问 http://119.29.152.235:5000,您应该可以看到 pyspider dashboard 的首页了。
服务能够正常启动后,我们需要让它能够在后台运行,您可以通过以下命令让服务在后台运行
nohup pyspider -c /etc/pyspider/pyspider.conf.json &
也可以使用官方推荐的 Supervisor 来启动,这里就不详细介绍了,具体用法可以参考 Supervisor 的文档

5.部署完成

访问服务
此时您可以访问 http://119.29.152.235:5000 使用您的爬虫来搜集数据了,具体 pyspider 爬虫脚本的编写及使用教程可以参考 网上资料

6.大功告成

恭喜您已经完成了搭建 PySpider 爬虫服务的学习

搭建pyspider爬虫服务的更多相关文章

  1. LINUX搭建PySpider爬虫服务

    1.环境搭建 yum update -y yum install gcc gcc-c++ -y yum install python-pip python-devel python-distribut ...

  2. ubuntu系统下安装pyspider:搭建pyspider服务器新手教程

    首先感谢“巧克力味腺嘌呤”的博客和Debian 8.1 安装配置 pyspider 爬虫,本人根据他们的教程在ubuntu系统中进行了实际操作,发现有一些不同,也出现了很多错误,因此做此教程,为新手服 ...

  3. Pyspider爬虫教程

    Pyspider爬虫教程 一.安装 1. 安装pip (1)准备工作 yum install –y make gcc-c++ python-devel libxml2-devel libxslt-de ...

  4. 使用AWS亚马逊云搭建Gmail转发服务(三)

    title: 使用AWS亚马逊云搭建Gmail转发服务(三) author:青南 date: 2015-01-02 15:42:22 categories: [Python] tags: [log,G ...

  5. 使用AWS亚马逊云搭建Gmail转发服务(二)

    title: 使用AWS亚马逊云搭建Gmail转发服务(二) author:青南 date: 2014-12-31 14:44:27 categories: [Python] tags: [Pytho ...

  6. 使用AWS亚马逊云搭建Gmail转发服务(一)

    title: 使用AWS亚马逊云搭建Gmail转发服务(一) author:青南 date: 2014-12-30 15:41:35 categories: Python tags: [Gmail,A ...

  7. 网络爬虫:使用Scrapy框架编写一个抓取书籍信息的爬虫服务

      上周学习了BeautifulSoup的基础知识并用它完成了一个网络爬虫( 使用Beautiful Soup编写一个爬虫 系列随笔汇总 ), BeautifulSoup是一个非常流行的Python网 ...

  8. 【PHP】基于ThinkPHP框架搭建OAuth2.0服务

    [PHP]基于ThinkPHP框架搭建OAuth2.0服务 http://leyteris.iteye.com/blog/1483403

  9. Thrift搭建分布式微服务(二)

    第二篇 连接池  连接池配置,请前往Thrift搭建分布式微服务(一)  下面要介绍的其实不是单一的连接池,应该说是连接池集合.因为它要管理多个Tcp Socket连接节点,每个服务节点都有设置了自己 ...

随机推荐

  1. Pycharm出现的部分快捷键无效问题及解决办法

    为了进行python开发,下载了Pycharm.但是发现启动后,执行ctrl+c和ctrl+v等快捷键都无法生效. 网上搜索了下,参考https://blog.csdn.net/c2366994582 ...

  2. 【opencv基础】Rect类的神奇用法

    前言 最近看github上源码发现对两个cv::Rect使用相与(&)操作,猛地感觉自己蒙啦,Rect类还有这种神奇用法?!翻看opencv官网Rect类,果然如此! opencv中Rect类 ...

  3. Appium笔记(二) 丶Appium的安装

    一.前言 Appium 中有个很重要的组件Appium-Server,它主要用来监听我们的移动设备(真机或模拟器),然将不同编程语言编写的 appium 测试脚本进行解析,然后,驱动移动设备来运行测试 ...

  4. 字符串匹配--扩展KMP模板

    对于一个字符串 s 以及子串 t ,扩展KMP可以用来求 t 与 s 的每个子串的最长公共前缀 ext [ i ],当然,如果有某个 ext 值等于 t 串的长度 lent ,那么就说明从其对应的 i ...

  5. Struts2重学习之作用域的获取

    第一种:获取requestMap,sessionMap,applicationMap, HttpServletRequest,HttpServletResponse对象的获取,在Struts2中 pu ...

  6. IP地址 无限网卡的MAC地址

  7. MySQL Disk--SSD与RAID

    ===================================================SSD与RAID 51.在RAID 5这类Parity-RAID上存在partial-stripe ...

  8. pipelinedb 滑动窗口

    滑动窗口可以方便的让我们进行一段时间的数据分析 几个主要函数 clock_timestamp 内置的函数,总是返回当前的时间戳 arrival_timestamp 事件达到的时间 单滑动窗口 参考 C ...

  9. golang 自定义importpath

    golang 的包导入和其他语言有好多不一样的地方,以下是一个自定义的导入 golang 自定义导入说明 一个官方的说明 比较简单,就不翻译了,主要是说我们可以通过添加meta 数据告诉包如何进行加载 ...

  10. HTTP 返回状态消息讲解

    当浏览器从 web 服务器请求服务时,可能会发生错误. 从而有可能会返回下面的一系列状态消息: 1xx: 信息 消息: 描述: 100 Continue 服务器仅接收到部分请求,但是一旦服务器并没有拒 ...