文章目录
- 一、 上传项目文件
- 二、准备项目环境
- 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,我们下次见~