通过宝塔辅助部署本地Python爬虫项目到阿里云轻量服务器

news2024/11/24 19:58:17

文章目录

  • 一、 上传项目文件
  • 二、准备项目环境
    • 2.1、安装 requirements.txt 依赖
    • 2.2、安装 node.js 环境
    • 2.3、阿里云服务器MySQL 8.0开启远程连接
    • 2.4、本地远程连接MySQL测试
      • 2.4.1、navicat 远程连接测试
      • 2.4.2、python 代码连接测试

笔记:最近想把本地的一套爬虫项目给搞到服务器上跑跑。

一、 上传项目文件

可在本地压缩成zip,手动将压缩包上传到宝塔文件夹,最终要将它解压出来,放到下面图片的路径下。

![在这里插入图片描述](https://img-blog.csdnimg.cn/35683919ba694d5485ad9b5197549105.png

二、准备项目环境

2.1、安装 requirements.txt 依赖

对于添加python项目这里就不再赘述,详细的可以看我之前的博客笔记:宝塔部署flask项目

首先确定你已打包项目模块依赖:进入项目根目录输入下面命令:

 pip freeze > requirements.txt

安装依赖法1:
在这里插入图片描述
安装依赖法2:
如果 法1 报安装依赖出错,在确定网络、项目路径无误等因素,可以按照下图安装,在项目管理中点击模块即可。(也可以直接启动运行,查看日志进行安装或其他操作)

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

2.2、安装 node.js 环境

因为用到了nodejs环境,就需要单独出来安装配置。安装node可把我搞了半天!
开始是安装的PM2管理器,说是内置nodejs,安装模块还方便。结果安装完后,报了一个错误,我在网上都没搜索到一个相关的文章,
在这里插入图片描述
搞了一会儿,感觉要搞定上面报错挺麻烦的,想了会儿,就放弃搞了,因为我就用node环境,用几个node的库。直接安装就是,参考链接:安装node
最后查看一下:
在这里插入图片描述

2.3、阿里云服务器MySQL 8.0开启远程连接

要先安装mysql,可以直接在宝塔面板上安装,我的版本是 8X
一键管理员 root 连接服务器,如果没有设置或者忘记了服务器root密码,直接在下图的页面点击概览,进入页面点击重置密码即可。
在这里插入图片描述

1、登录数据库

mysql -u root -p

输入密码(输入密码它不会显示出来的)再回车,密码如为修改,就是你宝塔面板数据库的root 密码:
在这里插入图片描述

在这里插入图片描述
2、选择mysql库

use mysql;

3、修改连接时的密码

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '连接用的密码';

4、从user表中列出所有user,host

select user,host from user;

5、修改root用户的ip地址为%

update user set host='%' where user = 'root';

6、刷新权限信息使更新生效

flush privileges;

7、退出mysql

exit;

截图:
在这里插入图片描述
对了,到这里就差不多了,再去放行一下3306端口就OK了。
阿里云中:在这里插入图片描述
宝塔面板中:

在这里插入图片描述

参考大哥文章:参考文章

2.4、本地远程连接MySQL测试

2.4.1、navicat 远程连接测试

没有标注的,就不用修改。
一、
在这里插入图片描述
二、
在这里插入图片描述

对于上图的密码:
一、

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '连接用的密码';

你修改时候设置的密码

二、在这里插入图片描述
爽歪歪 ! 连接成功了,现在就可以很方便的敲sql,也可以很直观的查看数据了!爽!!!
在这里插入图片描述

2.4.2、python 代码连接测试

代码:

"""
CSDN: 抄代码抄错的小牛马
mailbox:yxhlhm2002@163.com
"""
"""
params:
    1、mysql: 指定那种数据库连接
    2、username: root
    3、password: 密码
    4、databaseIP: 数据库IP端口:本地IP + MySQL端口: 127.0.0.1:3306
    5、database_name: 要连接的数据库名字
    6、pymysql 对应数据库操作驱动

"""
from sqlalchemy import create_engine
from sqlalchemy import text
from urllib.parse import quote_plus as urlquote

host = "你的服务器公网IP"
port = 3306
user = "root"
password = "连接用的密码"
database = "lucky"

url = f'mysql+pymysql://{user}:{urlquote(password)}@{host}:{port}/{database}?charset=utf8'

engine = create_engine(url=url, echo=True, future=True)

# 测试连接是否成功
with engine.connect() as conn:
    sql = "select * from `bus_source_log`"
    result = conn.execute(text(sql))
    print(result.all())

OK,我们下次见~

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

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

相关文章

SpringBoot——启动源码(一)

SpringBootApplication注解 前言SpringBootApplicationSpringBootConfigurationEnableAutoConfigurationimport注解 ComponentScan 总结 前言 Springboot作为Spring的脚手架,其本质核心并不提供Spring核心功能,作用就是开发者快速构建,预置三…

怎么转换英文音频成文字?英文音频转文字app分享

两位朋友正在讨论如何将一段英文讲座的音频转换成文字,以便于学习和理解。 Sophia:嗨,我最近听了一段非常精彩的英文讲座,但是对于我来说,理解听到的内容有些困难。你知道有什么方法可以将英文音频转换成文字吗&#…

SpringBoot内置Logback日志的学习

一、日志级别 日志级别有TRACE,DEBUG,INFO,WARN,ERROR,FATAL,OFF。 TRACE级别最低 DEBUG 的级别低,当需要打印调试信息的话,就用这个级别,不建议在生产环境下使用。 INFO 的级别高一些,当一些重要的信息需要打印的时候&#x…

虹科多功能电流电压采集方案

01电流电压采集基础概念和应用 电流采集、电压采集、电能充电量测试和功率测试在不同领域都有着广泛的应用 ▲汽车电子:电池管理系统BMS、发动机控制系统、车身电子系统 ▲航空航天:飞行控制系统,航空电源管理系统、航空电子设备 ▲消费电…

如何学习和提升使用编程语言的能力? - 易智编译EaseEditing

学习编程语言并提升编程能力需要一定的学习方法和实践。以下是一些方法可以帮助你提升编程语言能力: 学习基本语法: 了解编程语言的基本语法和关键概念。可以通过阅读官方文档、教程、书籍或在线资源来学习。 编写代码: 编写实际的代码是提…

入门孪生网络Siamese Network,我将会分几个博客来逐步阐述我对孪生网络的理解和应用---初步介绍0

文章目录 前言一、孪生网络(Siamese Network)的基本概念二、孪生网络(Siamese Network)的优点三、利用孪生网络进行故障诊断/分类的思路假如我有一堆数据,它可以是轴承故障数值数据,也可以是图像数据,我想进行二分类&a…

ESP32-C2-12模组 AT固件例程

ESP32C2 AT固件使用 ESP32 C2模组,如图1-1所示 图1-1 ESP32 C2模组 ESP32 C2开发板,如图1-2所示 图1-2 ESP32 C2开发 方案亮点 1、完整的 WiFi 子系统,符合 IEEE 802.11b/g/n 协议,具有 Station 模式、SoftAP 模式、SoftAP Stat…

Vue中如何只传递一个人员Name同时把人员Id也传递过去

前言: 根据项目需求,在修改功能中,要求展示一个人员的下拉框,但是又要把人员ID在点击提交时传递过去,一般这种情况有2种解决方法:一是 通过map遍历匹配;二是 在选中人员时将人员ID获取到&#x…

编辑和校对魔法:让文字焕发生机的秘诀

编辑和校对是写作过程中的关键环节,可以让你的文字更加精炼、清晰、引人入胜。以下是一些编辑和校对的秘诀,可以让你的文字焕发生机。 1.保持客观 从读者的角度审视文章,保持客观和中立。确保内容清晰、观点明确,同时避免主观情感…

运筹系列81:LKH代码分析

1. 基本数据结构 基础的node定义在LKH.h中 用于2-level tree的segment定义如下: LKH可以使用3种数据结构,默认是2-level tree: 2-level tree的flip操作(即2-opt算子),在Flip_SL.c中,特殊的地…

请问python如何处理url带有“?”参数的接口?

在Python中处理带有"?"参数的URL接口,可以使用urllib.parse库中的urlencode()函数来进行编码。以下是一些示例代码 如果你想学习自动化测试,我这边给你推荐一套视频,这个视频可以说是B站百万播放全网第一的自动化测试教程&#x…

详解python排序的5种高级用法

来源:投稿 作者:Fairy 编辑:学姐 排序是编程中常用的操作之一。Python提供了多种排序方法,可以适用于不同的排序需求。 那么,今天我们将介绍Python中常用的 5 种列表排序方法。 「1.使用sorted()函数和lambda表达式」…

常见的JS存储方式及其特点

在前端开发中,经常需要在浏览器端存储和管理数据。为了实现数据的持久化存储和方便的访问,JavaScript提供了多种数据存储方式。本文将介绍几种常见的前端JS数据存储方式及其特点。 1. Cookie Cookie是一种小型的文本文件,由浏览器保存在用户…

VMware Workstation下载与安装(适用于在官网注册好账号的朋友,许可证秘钥请自行网上搜索获取)

一、VMware Workstation下载 第一步:点击下方“Resources”链接,进入Vmware官网(本教程适用于已经在官网注册好账号并已经进行登陆的朋友): Resources 第二步:点击“Product Downloads”,进入…

GIT分支管理(随笔)

目录 前言 一、概念原理 1、分支 2、原理 说明1: 说明2: 二、分支操作 1、查看分支 2、创建分支 3、切换分支 4、删除分支 5、合并分支 6、合并冲突 7、重命名分支 8、编制分支的介绍 三、标签 1、概念 2、操作 总结 前言 分支&#xff0…

C语言---关键字static的初步剖析

🚀write in front🚀 📝个人主页:认真写博客的夏目浅石. 🎁欢迎各位→点赞👍 收藏⭐️ 留言📝 📣系列专栏:凡人修C传 💬总结:希望你看完之后&…

数据结构--队列2--双端队列--java双端队列

介绍 双端队列&#xff0c;和前面学的队列和栈的区别在于双端队列2端都可以进行增删&#xff0c;其他2个都是只能一端可以增/删。 实现 链表 因为2端都需要可以操作所以我们使用双向链表 我们也需要一共头节点 所以节点设置 static class Node<E>{E value;Node<E…

优化设备管理,提升企业效益——工程设备管理模板的实用价值分析

随着建筑行业的不断发展&#xff0c;建筑企业在施工过程中的各种设备也越来越多&#xff0c;设备的管理已经成为建筑企业发展过程中必须要面对的一个问题。作为低代码开发平台&#xff0c;百数根据建筑业的实际需求搭建了一款工程设备管理系统&#xff0c;从而能够让建筑行业企…

图漾相机—windows- Python SDK(官网下载编译)

文章目录 一、 安装依赖&#xff1a;二. 下载swig和SDK&#xff1a;swig下载连接&#xff1a;[https://www.swig.org/](https://www.swig.org/)下载python SDK下载 Windows Camport3 SDK 三、配置python和swig环境变量编译前&#xff0c;请先&#xff1a;安装 Python。 安装 Nu…

智慧垃圾焚烧发电厂Web3D可视化管理系统

前言 随着我国生产力的飞速发展和经济的迅速崛起&#xff0c;城市生活垃圾作为一种生物质能&#xff0c;将其燃烧用于发电&#xff0c;可以有效节约化石能源。 建设背景 随着城镇化进程加速、人民生活水平持续提升,城市生活垃圾产生量也在逐年增长。生活垃圾是“放错地方的资…