通过宝塔辅助部署本地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:[email protected]
"""
"""
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,我们下次见~

猜你喜欢

转载自blog.csdn.net/qq_61122628/article/details/131127211