方案 1:宝塔网页(堡塔)【最推荐新手,保留全部子文件夹结构】
适合中小体积目录;打包压缩上传 + 在线解压,是宝塔上传多层文件夹最优方案,网页上传原生拖拽目录会受 PHP 上传大小限制,大文件夹容易失败
在你本地电脑,把整个包含多层子文件夹的目录打包成 zip(Windows 右键发送到压缩包,Mac 压缩)
✅ 优点:打包后目录层级完整,解压自动还原所有子文件夹;单文件传输,不容易断
登录宝塔网页面板,左侧菜单【文件】,进入你服务器 Ubuntu 上的目标目录(例如 /www/wwwroot/xxx)
点【上传】,选择刚才本地的 zip 压缩包,等待上传完成
在文件列表找到这个 zip,点后面【解压】,直接解压到当前目录,所有子文件夹完整还原
(可选)解压完成后删掉 zip 包,按需调整文件权限
补充:新版宝塔浏览器也可以直接拖拽整个文件夹进文件管理器,会递归上传子目录,但大文件 / 几千个小文件容易超时失败,所以优先打包方案。
方案 2:SSH 命令上传(适合大量文件、大文件夹,保留子目录)
本地电脑打开终端(Windows10/11 直接 PowerShell,Mac 终端)
scp(简单一次性上传)
# 格式 scp -r 本地目录 用户名@VPSIP:服务器目标路径
scp -r D:/myfolder root@123.123.123.123:/www/wwwroot/-r = 递归,带上所有子文件夹
执行后输入服务器 ssh 密码,开始传输
rsync【强烈推荐,支持断点续传,增量更新】
如果文件很多、后续经常更新,用 rsync,只传改动文件
rsync -avz D:/myfolder/ root@123.123.123.123:/www/wwwroot/myfolder-a:归档模式,递归目录,保留权限、目录结构
-v:显示详情,-z传输时压缩
注意:Ubuntu VPS 需要放行22 端口(SSH 端口);如果你的 SSH 不是默认 22 端口,加上 -e "ssh -p 端口号"
方案 3:SFTP 客户端可视化拖拽(推荐,兼顾简单 + 稳定)
工具:WinSCP(Windows 免费)、FileZilla
协议选 SFTP(底层就是 SSH,端口 22)
填入 VPS IP、ssh 账号密码登录
左侧本地、右侧服务器,直接拖拽整个文件夹,自动递归上传全部子目录,断点续传,大量小文件比网页宝塔稳得多
几种方式对比
表格-方式-优点-缺点
宝塔网页打包上传 不用装软件,网页操作 超大压缩包上传容易超时
scp/rsync SSH 命令 速度快、支持超大目录 需要懂一点命令
WinSCP SFTP 拖拽 可视化,大量小文件稳定 需要本地装软件
常见坑提醒
权限问题:上传后网站打不开,宝塔文件里选中文件夹,设置权限 755,文件644
宝塔上传大小限制:网页上传默认受 PHP 限制,超过建议直接用 rsync/SFTP
防火墙:VPS 服务商安全组放行 22 端口,否则 SSH/SFTP 连不上
路径不要带中文、特殊符号,容易解压失败
