热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

Scrapyd(centos部署scrapy)安装介绍以及sqllite3配置

一.介绍 Scrapyd可以管理多个项目,每个项目可以上传多个版本,但只有最新的版本会用于启动新的spiders。Scrapyd还并行运行多个进程,将它们分配到由max_p

一.介绍

 

  Scrapyd 可以管理多个项目,每个项目可以上传多个版本,但只有最新的版本会用于启动新的spiders。

  Scrapyd 还并行运行多个进程,将它们分配到由max_proc和max_proc_per_cpu选项给出的固定数量的槽中,启动尽可能多的进程来处理负载。

  除了调度和管理流程,Scrapyd 还提供了一个 JSON Web 服务来上传新的项目版本和调度蜘蛛。

  从 0.11 开始,Scrapyd 还提供了一个最小的Web 界面。目前1.30版本。

  安装后默认端口是6800

  下面是一个调试spider的示例

$ curl http://localhost:6800/schedule.json -d project=myproject -d spider=spider2
{
"status": "ok", "jobid": "26d1b1a6d6f111e0be5c001e648c57f8"}

 


二.安装

  Scrapyd 依赖于以下库,但安装过程会负责安装缺少的库(python已安装了3.10.5):

Python 3.6 or above
Scrapy
1.2 or above
Twisted
17.9 or above

 使用pip3 list 先查看已安装的包,发现Twisted已安装了22.4

   1)安装 Scrapy 

pip3 install scrapy

   2)安装Scrapyd 脚本(可以不用手动安装scrapy,因为安装scrapyd时会负责安装缺少的包)

pip3 install scrapyd
#建立新的软接接
ln -s /usr/local/bin/python310/bin/scrapyd   /usr/bin/scrapyd 

  

   3)启动scrapyd时,提示错误:No module named '_sqlite3'  没有找到sqlite3,安装sqlite3命令如下:

cd tmp
wget https://www.sqlite.org/2022/sqlite-autoconf-3390100.tar.gz
tar -xvzf sqlite-autoconf-3390100.tar.gz
cd sqlite
-autoconf-3390100
#配置,注意这里指定了路径后,下面有地方配置需要对应:

.
/configure --prefix=/usr/local/bin/sqlite
#编译和安装
make -j4&&sudo make install

    检查sqlite3是否完装完成,输入sqlite3 显示当前的版本,按.exit 命令退出

     sqlite3安装版本,参考: https://sqlite.org/index.html

     所有下载版本地址:https://sqlite.org/chronology.html

   4)安装sqlite3后,启动再scrapyd还是不行,查找_sqlite3.so文件发现,在python2.7里面

[root@iZwz927xptl8kw8zqrmwvcZ lib-dynload]# find / -name _sqlite3.so
/usr/local/aegis/PythonLoader/lib/python2.7/lib-dynload/_sqlite3.so

  5)修改/tmp/Python-3.10.5/setup.py文件,找到 sqlite_inc_paths,在其中添加sqlite3安装路径,数组后面二项是新增的

sqlite_inc_paths = [ '/usr/include',
'/usr/include/sqlite',
'/usr/include/sqlite3',
'/usr/local/include',
'/usr/local/include/sqlite',
'/usr/local/include/sqlite3',
'/usr/local/bin/sqlite/include',
'/usr/local/bin/sqlite/include/sqlite3'
]

   6)再次编译安装python3, cd到tmp/python-3.10.5下进行配置,接着编译安装

[root@iZwz927xptl8kw8zqrmwvcZ Python-3.10.5]# ./configure --prefix=/usr/local/bin/python310 --enable-loadable-sqlite-extensions

[root@iZwz927xptl8kw8zqrmwvcZ Python-3.10.5]# make && sudo make install

    再次查找_sqlite3.so,发现多了文件:

[root@iZwz927xptl8kw8zqrmwvcZ Python-3.10.5]# find / -name _sqlite*.so
/usr/local/bin/python310/lib/python3.10/lib-dynload/_sqlite3.cpython-310-x86_64-linux-gnu.so
/usr/local/aegis/PythonLoader/lib/python2.7/lib-dynload/_sqlite3.so
/tmp/Python-3.10.5/build/lib.linux-x86_64-3.10/_sqlite3.cpython-310-x86_64-linux-gnu.so

    另一种测试python3使用sqlite3是否正常,导入import sqllite3是没有报错

[root@iZwz927xptl8kw8zqrmwvcZ Python-3.10.5]# python3
Python
3.10.5 (main, Jul 13 2022, 12:30:13) [GCC 8.5.0 20210514 (Red Hat 8.5.0-4)] on linux
Type
"help", "copyright", "credits" or "license" for more information.
>>> import sqlite3
>>> exit

    sqlite3参考:https://www.cnblogs.com/laityguanguan/p/16186852.html

  7)scrapyd 配置文件编辑

     #目录 /usr/local/bin/python310/lib/python3.10/site-packages/scrapyd 

     找到default_scrapyd.conf,编辑

    

   8)使用后动服务运行

scrapyd &

   9)放开6800 端口,在外面访问,界面如下:

 

总结:之所以要修改tmp/Python-3.10.5/setup.py文件,是因为在安装sqlite3时,指定了安装路径./configure --prefix=/usr/local/bin/sqlite

 



推荐阅读
  • oracle c3p0 dword 60,web_day10 dbcp c3p0 dbutils
    createdatabasemydbcharactersetutf8;alertdatabasemydbcharactersetutf8;1.自定义连接池为了不去经常创建连接和释放 ... [详细]
  • 本视频教程将带你快速了解 Android 开发的基础知识,并详细讲解如何在 Android 应用中使用 SQLite 数据库进行数据存储和管理。 ... [详细]
  • MySQL 5.7 学习指南:SQLyog 中的主键、列属性和数据类型
    本文介绍了 MySQL 5.7 中主键(Primary Key)和自增(Auto-Increment)的概念,以及如何在 SQLyog 中设置这些属性。同时,还探讨了数据类型的分类和选择,以及列属性的设置方法。 ... [详细]
  • 如何在Java中使用DButils类
    这期内容当中小编将会给大家带来有关如何在Java中使用DButils类,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。D ... [详细]
  • php更新数据库字段的函数是,php更新数据库字段的函数是 ... [详细]
  • Docker 中创建 CentOS 容器并安装 MySQL 进行本地连接
    本文详细介绍了如何在 Docker 中创建 CentOS 容器,并在容器中安装 MySQL 以实现本地连接。文章内容包括镜像拉取、容器创建、MySQL 安装与配置等步骤。 ... [详细]
  • 本文详细介绍了MySQL数据库的基础语法与核心操作,涵盖从基础概念到具体应用的多个方面。首先,文章从基础知识入手,逐步深入到创建和修改数据表的操作。接着,详细讲解了如何进行数据的插入、更新与删除。在查询部分,不仅介绍了DISTINCT和LIMIT的使用方法,还探讨了排序、过滤和通配符的应用。此外,文章还涵盖了计算字段以及多种函数的使用,包括文本处理、日期和时间处理及数值处理等。通过这些内容,读者可以全面掌握MySQL数据库的核心操作技巧。 ... [详细]
  • 在 CentOS 6.7 系统维护中,常用的巡检命令包括:`uname -a` 用于查看内核、操作系统和 CPU 信息;`head -n 1 /etc/issue` 用于查看操作系统的版本;`cat /proc/cpuinfo` 用于获取详细的 CPU 信息;`hostname` 用于显示当前主机名;`ls` 命令则用于列出目录内容。这些命令可以帮助系统管理员快速了解系统的运行状态和配置信息,确保系统的稳定性和安全性。 ... [详细]
  • 为了确保iOS应用能够安全地访问网站数据,本文介绍了如何在Nginx服务器上轻松配置CertBot以实现SSL证书的自动化管理。通过这一过程,可以确保应用始终使用HTTPS协议,从而提升数据传输的安全性和可靠性。文章详细阐述了配置步骤和常见问题的解决方法,帮助读者快速上手并成功部署SSL证书。 ... [详细]
  • 为了在Hadoop 2.7.2中实现对Snappy压缩和解压功能的原生支持,本文详细介绍了如何重新编译Hadoop源代码,并优化其Native编译过程。通过这一优化,可以显著提升数据处理的效率和性能。此外,还探讨了编译过程中可能遇到的问题及其解决方案,为用户提供了一套完整的操作指南。 ... [详细]
  • 在本文中,我们将详细介绍如何构建一个用于自动回复消息的XML类。当微信服务器接收到用户消息时,该类将生成相应的自动回复消息。以下是具体的代码实现:```phpclass We_Xml { // 代码内容}```通过这个类,开发者可以轻松地处理各种消息类型,并实现高效的自动回复功能。我们将深入探讨类的各个方法和属性,帮助读者更好地理解和应用这一技术。 ... [详细]
  • 本文详细介绍了在CentOS 6.5 64位系统上使用阿里云ECS服务器搭建LAMP环境的具体步骤。首先,通过PuTTY工具实现远程连接至服务器。接着,检查当前系统的磁盘空间使用情况,确保有足够的空间进行后续操作,可使用 `df` 命令进行查看。此外,文章还涵盖了安装和配置Apache、MySQL和PHP的相关步骤,以及常见问题的解决方法,帮助用户顺利完成LAMP环境的搭建。 ... [详细]
  • Parallels Desktop for Mac 是一款功能强大的虚拟化软件,能够在不重启的情况下实现在同一台电脑上无缝切换和使用 Windows 和 macOS 系统中的各种应用程序。该软件不仅提供了高效稳定的性能,还支持多种高级功能,如拖放文件、共享剪贴板等,极大地提升了用户的生产力和使用体验。 ... [详细]
  • Presto:高效即席查询引擎的深度解析与应用
    本文深入解析了Presto这一高效的即席查询引擎,详细探讨了其架构设计及其优缺点。Presto通过内存到内存的数据处理方式,显著提升了查询性能,相比传统的MapReduce查询,不仅减少了数据传输的延迟,还提高了查询的准确性和效率。然而,Presto在大规模数据处理和容错机制方面仍存在一定的局限性。本文还介绍了Presto在实际应用中的多种场景,展示了其在大数据分析领域的强大潜力。 ... [详细]
  • CSS3 @font-face 字体应用技术解析与实践
    在Web前端开发中,HTML教程和CSS3的结合使得网页设计更加多样化。长期以来,Web设计师受限于“web-safe”字体的选择。然而,CSS3中的`@font-face`规则允许从服务器端加载自定义字体,极大地丰富了网页的视觉效果。通过这一技术,设计师可以自由选择和使用各种字体,提升用户体验和页面美观度。本文将深入解析`@font-face`的实现原理,并提供实际应用案例,帮助开发者更好地掌握这一强大工具。 ... [详细]
author-avatar
zjjj-jz政
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有