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. .Net Core:部署应用

    实战Asp.Net Core:部署应用   1.前言 某一刻,你已经把 .Net Core 的程序写好了.接下来,还可以做什么呢?那就是部署了. 作为一名开发工程师,如果不会部署自己开发的应用,那么这 ...

  2. CentOS安装crontab 定时备份文件夹

    一. 编写脚本编写一个脚本文件,使脚本可以执行备份命令. 例如,将文件目录 /home/backups/balalala 备份到/home目录下,并压缩.1. 创建脚本命令格式: touch 路径/文 ...

  3. 《DSP using MATLAB》Problem 4.15

    只会做前两个, 代码: %% ---------------------------------------------------------------------------- %% Outpu ...

  4. hdu2064

    hdu2064 汉诺塔变形,数学题 #include<stdio.h> ]; int main(){ A[]=; int i; ;i<=;i++){ A[i]=*A[i-]+; } ...

  5. LG3804 【模板】后缀自动机

    题意 给定一个只包含小写字母的字符串\(S\), 请你求出 \(S\) 的所有出现次数不为 \(1\) 的子串的出现次数乘上该子串长度的最大值. 对于\(100\%\) 的数据,\(|S| \leq ...

  6. redis sentinel 高可用(HA)方案部署,及python应用示例

    redis sentinel(哨兵)高可用集群的部署方法,并通过 python 程序实例讲解如何使用 redis sentinel 简介 介绍 redis sentinel(哨兵)集群的部署,配置一主 ...

  7. Entities、pads、links 实体、垫、链接

    Entities.pads.links 实体.垫.链接 Entities:1.实体由一个struct media_entity实例表示.结构通常嵌入到一个较高级别的结构,例如v4l2_subdev或v ...

  8. mysql 变量名称的使用不当的一个错误

    对于开发来说重要的是按照规范进行开发. 昨天自己在进行开发测试的时候,编写mysql 的一个存储过程 ,代码是比较简单的 就是根据名称查询对应的数据并返回 DELIMITER // CREATE PR ...

  9. koa2 知识点

    koa2 常用功能: 假设 Koa 提供的 Context 对象的实例为 ctx table th:first-of-type { width: 200px; } table th:nth-of-ty ...

  10. tyvj1035棋盘覆盖——二分图匹配

    题目:http://www.joyoi.cn/problem/tyvj-1035 把可放的位置作为节点,相邻的连边. 可用天然有的编号作为节点的编号. 果然只用连单向边就行了.也只需记录另一部的对应点 ...