第十九章 linux部署scrapyd

news2024/9/20 5:41:32

文章目录

  • 1. linux部署python环境
    • 1. 部署python源文件环境
    • 2. 下载python
    • 3. 解压安装包
    • 4. 安装
    • 5. 配置环境变量
    • 6. 检查是否安装成功
    • 7. 准备python使用的包
    • 8. 安装scrapyd
    • 9. 配置scrapyd
    • 10. 开放6800端口
  • 2. 部署gerapy
    • 1. 本机下载包
    • 2. 初始化
    • 3. 进入gerapy同步数据库
    • 4. 创建用户
    • 5. 运行gerapy
  • 3. 问题基解决办法
    • 1. 安装python后无法pip 下载python相关的包
    • 2. 安装gerapy后部署包失败

1. linux部署python环境

1. 部署python源文件环境

yum install gcc patch libffi-devel python-devel zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel -y

2. 下载python

yum install -y wget

# 具体版本可以根据自己需求下载
wget https://www.python.org/ftp/python/3.11.8/Python-3.11.8.tgz

3. 解压安装包

tar -zxvf Python-3.11.8.tgz

在这里插入图片描述

4. 安装

# /usr....路径根据自己需求设定
./configure --prefix=/usr/local/python3

make && make install

5. 配置环境变量

vi /etc/profile

export PYTHON_HOME=/usr/local/python3
export PATH=$PYTHON_HOME/bin:$PATH

# 配置完成后刷新环境变量
source /etc/profile

在这里插入图片描述

6. 检查是否安装成功

在这里插入图片描述

7. 准备python使用的包

win+R命令窗口

pip freeze package.txt

将package.txt传输到linux中
可以使用工具 MobaXterm
链接:https://pan.baidu.com/s/1NqKDJBH0ZfPZmm1sn1q9oQ?pwd=2024
提取码:2024

在这里插入图片描述

为了下载快一些可以配置python的源

pip3 config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple/

在这里插入图片描述
在这里插入图片描述

pip3 install -r package.txt

8. 安装scrapyd

pip3 install scrapyd

在这里插入图片描述

9. 配置scrapyd

vi /usr/local/python3/lib/python3.11/site-packages/scrapyd/default_scrapyd.conf

# 修改此行
bind_address = 0.0.0.0

在这里插入图片描述

10. 开放6800端口

iptables -I INPUT -p tcp --dport 6800 -j ACCEPT

# 创建scrapyd项目文件夹
mkdir scrapyd_projrct
cd scrapyd_projrct
scrapyd

2. 部署gerapy

1. 本机下载包

 pip install gerapy -i https://pypi.tuna.tsinghua.edu.cn/simple

2. 初始化

gerapy init

3. 进入gerapy同步数据库

cd .\gerapy\
gerapy migrate

4. 创建用户

gerapy createsuperuser

在这里插入图片描述

5. 运行gerapy

gerapy runserver

打包失败原因待探索…

如果打包项目失败的话
使用scrapy-deploy直接部署项目到scrapyd上

# 进入项目 scrapy.cfg文件的统计目录下

scrapyd-deploy ts -p test_name

在这里插入图片描述

3. 问题基解决办法

1. 安装python后无法pip 下载python相关的包

在pip后添加下发代码可以下载

-i http://mirrors.aliyun.com/pypi/simple --trusted-host mirrors.aliyun.com

这样在使用requests库的时候还是会报错

  1. 安装最新的OpenSSL
cd /usr/local

#使用wget下载最新的包
wget https://www.openssl.org/source/openssl-3.0.2.tar.gz --no-check-certificate

#解压
tar -zxvf openssl-3.0.2.tar.gz

#进入解压目录
cd openssl-3.0.2/

# 安装
./Configure --prefix=/usr/local/openssl

  1. ./Configure --prefix=/usr/local/openssl 报错解决
#安装perl-CPAN
yum install -y perl-CPAN


#进入perl shell中
perl -MCPAN -e shell


#进入后第一步选yes,第二步选manual,第三步选yes

在这里插入图片描述

出现下图
在这里插入图片描述

install IPC/Cmd.pm

出现在这里插入图片描述
证明安装完成 Ctrl+d 退出

./Configure --prefix=/usr/local/openssl

安装成功
在这里插入图片描述
3. 配置安装

make && make install
  1. 配置openssl相关文件夹
cd /usr/local/openssl

# 创建lib目录
cp -rf /usr/local/openssl/lib64 /usr/local/openssl/lib

  1. 重新执行上述安装python的步骤
# 卸载之前的python的目录
rm -rf /usr/local/python3

# 恢复之前的配置

2. 安装gerapy后部署包失败

报错信息
ERROR - 2024-03-21 00:19:34,046 - process: 1164 - build.py - gerapy.server.core.build - 78 - build - error occurred (1, [‘D:\APP\AppRun\Python\python.exe’, ‘setup.py’, ‘clean’, ‘-a’, ‘bdist_uberegg’, ‘-d’, ‘C:\Users\Administrator\AppData\Local\Temp\gerapy-vmtgcveq’])

setuptools包版本太低导致的

pip install -U setuptools

升级后,重启gerapy打包成功

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1544258.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

堂哥让我给他做个真人动漫头像

背景 堂哥最喜欢的动漫是死神。他给了我一张死神主角一户的头像,以及自己的头像,希望我产出一张真人动漫头像。 一户的头像: 堂哥自拍照: 最近,有大佬部署了个stable diffusion,正好拿来一试身手。 stab…

优质视频素材库排行榜前十名有哪些?

在视频创作的世界中,每一帧画面、每一个音符都承载着无限的可能。为了帮助你更好地探索这些可能性,我继续为你精选了一系列素材网站。这些网站不仅能够提供高质量的视频、音效和图像素材,还能激发你的创意灵感,助你一臂之力。 1&…

利器 | 测试必会之 Linux 三剑客 ( grep / awk / sed )

Linux 给人的印象是黑乎乎的神秘窗口,文本操作和数据处理似乎没有 Windows 窗口界面直观方便。其实Linux 有自己的独特的法宝,称之为三剑客:grep,awk 和 sed。你可以用这三件法宝很方便的处理数据 :查找,分…

时间戳的转换-unix时间戳转换为utc时间(python实现)

import datetimetimestamp = 1711358882# 将时间戳转换为UTC时间 utc_time = datetime.datetime.utcfromtimestamp(timestamp)# 格式化并输出时间 formatted_time = utc_time.strftime(%Y-%m-%d %H:%M:%S) print(formatted_time)同样:UTC如何转换为unix时间戳 from datetime …

【考研数学】如何搭配好《660》+《880》组合?

如果1800题都做不明白,那就不要去做880题660题 做完1800题之后,还迷迷糊糊,解题水平极低,都是犯了一个错误: 那就是为了做题而做题! 如果这个习惯不改掉,那不管是做660题还是880题都起不到任…

穿越地心:3D可视化技术带你领略地球内部奇观

在广袤无垠的宇宙中,地球是一颗充满生机与奥秘的蓝色星球。我们每天都生活在这颗星球上,感受着它的温暖与恩赐,却往往忽略了它深邃的内部世界。 想象一下,你能够穿越时空,深入地球的核心,亲眼目睹那些亿万年…

ssm005基于SSM框架的购物商城系统+jsp

购物商城系统的设计与实现 摘 要 网络技术和计算机技术发展至今,已经拥有了深厚的理论基础,并在现实中进行了充分运用,尤其是基于计算机运行的软件更是受到各界的关注。加上现在人们已经步入信息时代,所以对于信息的宣传和管理就…

GL-15过流继电器 10A、5A 板前接线带附件 JOSEF约瑟

系列型号: GL-11过流继电器; GL-12过流继电器; GL-13过流继电器; GL-14过流继电器; GL-15过流继电器; GL-16过流继电器; GL-17过流继电器; 用途 GL-10系列过流继电器(以下简称继电器)具有反时限特性,应用于电机、变压器等主设备以及输配电系统的继电保…

SQLAlchemy操作数据库

数据库是一个网站的基础。 比如 MySQL 、 MongoDB 、 SQLite 、 PostgreSQL 等,这里我们以 MySQL为例进行讲解。 SQLAlchemy 是一个 ORM 框架 我们会以 MySQL SQLAlchemy 组合进行讲解。 在操作数据库操作之前,先确保你已经安装了以下两个插件&#…

spring 环境配置

1.安装idea 建议安装2020以上的版本 idea 旗舰版 下载路径 破解软件和激活码地址,破解软件相对麻烦,建议用激活码(可能不稳定)。 2.安装 JDK 版本选择1.8的 安装完以后记得配置环境变量,配置完以后输入java -version查看是否安装成功 参考…

Word邮件合并

Word邮件合并功能可以解决在Word中批量填写内容的需求,当需要大量格式相同,只修改少数相关内容时,例如利用Word制作工资条,通知函,奖状等等,同时操作也非常简单灵活。下面通过例子来说明邮件合并的使用方法…

技术与业务:项目成功的黄金关键

目录 前言1 明确业务需求2 技术选择与业务匹配3 解决方案设计与业务一致4 开发与实施5 持续监控与优化6 反馈循环与持续改进结语 前言 在当今数字化时代,技术与业务之间的紧密联系对于项目的成功至关重要。无论是开发新产品、提供服务还是改进现有流程,…

QT_day3:2024/3/22

作业1:设计界面 使用手动连接,将登录框中的取消按钮使用qt4版本的连接到自定义的槽函数中,在自定义的槽函数中调用关闭函数 将登录按钮使用qt5版本的连接到自定义的槽函数中,在槽函数中判断ui界面上输入的账号是否为"admin…

【OJ】动归练习二

个人主页 : zxctscl 如有转载请先通知 题目 1. 91.解码方法1.1 分析1.2 代码 2. 62.不同路径2.1 分析2.2 代码 3. 63.不同路径 II3.1 分析3.2 代码 1. 91.解码方法 1.1 分析 题目所述就是把一串数字反向解码为字母映射出来,有多少种方法。 题目也说&…

科学计算库numpy的使用

import numpy as np import matplotlib.pyplot as plt #加载显示图片,目录根据实际情况写。 img_arr plt.imread(‘D:\大数据分析\python\123.jpg’) plt.imshow(img_arr) #将图片进行左右翻转 plt.imshow(img_arr[:,::-1,:]) plt.imsave(‘D:\大数据分析\pyt…

Java项目:73 ssm档案管理系统

作者主页:源码空间codegym 简介:Java领域优质创作者、Java项目、学习资料、技术互助 文中获取源码 项目介绍 角色:管理员、用户 用户点击进入到系统操作界面,可以对个人中心、警察信息管理、事故信息管理、申诉信息管理等功能模…

C语言程序与设计——预处理命令

宏 在C语言中宏有三种形式: 定义符号常量定义傻瓜表达式定义代码段 在使用宏的过程中需要注意的是,宏的作用仅仅是在预处理阶段对代码进行替换,而非进行运算,所以在使用时,如果出现了我们预期之外的结果,很有可能是宏…

MySql实战--一条SQL查询语句是如何执行的?

平时我们使用数据库,看到的通常都是一个整体。比如,你有个最简单的表,表里只有一个ID字段,在执行下面这个查询语句时: select * from T where ID10; 我们看到的只是输入一条语句,返回一个结果…

Java学习笔记 | JavaSE基础语法 | 04 | 数组

文章目录 0.前言1.数组2.数组声明2.1 数组定义2.2 数组初始化1.静态初始化2.动态初始化3.区别4.数组的默认初始化值: 2.3 数组名 3.访问数组3.1 索引3.2 访问数组3.3 length属性 4.数组常见问题5.数组内存分析5.1 内存分配5.2 数组内存分配 6.数组的练习练习1&#…