第一,打开finalshell软件
第二,新建,SSH linux链接
名称:Flask 开发模式
主机:12345678 端口:22
方法:密码
用户名:root
密码:abc4951
步骤0:安装依赖 Python3 和 Flask
更新包管理工具 & 安装 pip
apt update
apt install python3 python3-pip -y
安装 Flask 框架
pip3 install flask
安装 tmux(后台保持运行工具)
apt install tmux -y
创建项目文件夹 & 编写 Flask 代码
1、创建文件夹并进入
mkdir -p /root/upload_server
cd /root/upload_server
创建 upload_server.py 主程序文件
cat > upload_server.py << 'EOF'
from flask import Flask, request, send_from_directory
import os
app = Flask(__name__)
UPLOAD_FOLDER = '/var/www/html'
# 确保上传文件夹存在
os.makedirs(UPLOAD_FOLDER, exist_ok=True)
app.config['UPLOAD_FOLDER'] = UPLOAD_FOLDER
# 上传接口:保留原始文件名
@app.route('/upload', methods=['POST'])
def upload():
if 'file' not in request.files:
return '未选择文件'
file = request.files['file']
filename = file.filename
save_path = os.path.join(UPLOAD_FOLDER, filename)
file.save(save_path)
return "ok"
# 直接访问上传的网页/文件
@app.route('/<filename>')
def serve_file(filename):
return send_from_directory(UPLOAD_FOLDER, filename)
if __name__ == '__main__':
# 开发模式运行:监听全部网卡,端口8080
app.run(host='0.0.0.0', port=8080, debug=True)
EOF
步骤 1(主 SSH 终端):编辑 Flask 代码
nano /root/upload_server/upload_server.py
粘贴下面完整代码
from flask import Flask, request, send_from_directory
import os
app = Flask(__name__)
UPLOAD_FOLDER = '/var/www/html'
# 确保上传文件夹存在
os.makedirs(UPLOAD_FOLDER, exist_ok=True)
app.config['UPLOAD_FOLDER'] = UPLOAD_FOLDER
# 上传接口:保留原始文件名
@app.route('/upload', methods=['POST'])
def upload():
if 'file' not in request.files:
return '未选择文件'
file = request.files['file']
filename = file.filename
save_path = os.path.join(UPLOAD_FOLDER, filename)
file.save(save_path)
return "ok"
# 直接访问上传的文件
@app.route('/<filename>')
def serve_file(filename):
return send_from_directory(UPLOAD_FOLDER, filename)
if __name__ == '__main__':
app.run(host='0.0.0.0', port=8080)
保存:按 Ctrl+O → 回车
退出:按 Ctrl+X
验证代码
cat upload_server.py
步骤 4:阿里云安全组放行 8080 TCP 端口
登录阿里云官网 → 进入云服务器 ECS 控制台
找到实例 → 安全组 → 配置规则
添加放行规则:
协议:TCP
端口:8080
授权对象:0.0.0.0/0(全网访问,仅测试用)
策略:允许
保存
步骤 5(主 SSH 终端):进入 tmux 重启服务
1、进入 tmux 会话 bash
tmux a -t flask_upload
python3 upload_server.py
4、后台脱离:Ctrl+B → 松开按 D
步骤 3(本地电脑):重新上传 index.html
打开你本地的 test.html 上传页面,再次上传 index.html
上传成功页面显示 ok
此时文件真实保存在服务器 /var/www/html/index.html
步骤 4(本地浏览器):直接打开网页
http://8.134.197.176:8080/index.html
步骤 5 验证(SSH 查看文件)
ls /var/www/html
(主 SSH 终端)
cat > /root/upload_server/upload_server.py << 'EOF'
from flask import Flask, request, send_from_directory
import os
app = Flask(__name__)
UPLOAD_FOLDER = '/var/www/html'
# 确保上传文件夹存在
os.makedirs(UPLOAD_FOLDER, exist_ok=True)
app.config['UPLOAD_FOLDER'] = UPLOAD_FOLDER
# 上传接口:保留原始文件名
@app.route('/upload', methods=['POST'])
def upload():
if 'file' not in request.files:
return '未选择文件'
file = request.files['file']
filename = file.filename
save_path = os.path.join(UPLOAD_FOLDER, filename)
file.save(save_path)
return "ok"
# 直接访问上传的文件
@app.route('/<filename>')
def serve_file(filename):
return send_from_directory(UPLOAD_FOLDER, filename)
if __name__ == '__main__':
app.run(host='0.0.0.0', port=8080)
EOF
验证是否修改成功,输入:
cat /root/upload_server/upload_server.py
查看目录:
ls /var/www/html
客户端:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>文件上传</title>
</head>
<body>
<h3>上传文件到服务器</h3>
<!– 上传接口地址 –>
<form action="http://1234578:8080/upload" method="post" enctype="multipart/form-data">
<!– 字段名必须是 name="file",和后端匹配 –>
<input type="file" name="file">
<br><br>
<button type="submit">提交上传</button>
</form>
</body>
</html>
重要提醒
当前是 Flask 开发模式,仅适合测试使用,不适合正式长期对外访问。
如需正式部署(如 Nginx)可以后续再教你操作!
网硕互联帮助中心


评论前必须登录!
注册