HTML5源代码无需编译,上传即通过FTP/SFTP将index.html及依赖文件复制到服务器网站根目录;现代平台多用Git或CLI部署,老旧主机才用FTP,需注意协议选择、路径定位、权限设置(644/755)和缓存刷新。

HTML5 源代码不是“发行”概念,它本身是纯文本文件,不需要编译或打包;上传到服务器就是把 index.html 及其依赖的 css/、js/、images/ 等文件通过 FTP(或更安全的 SFTP)复制到服务器指定目录(通常是 /var/www/html 或 /public_html)。
确认服务器是否支持 FTP / SFTP
很多现代主机(尤其是云服务商如 Vercel、Netlify、GitHub Pages)根本不提供 FTP,只支持 Git 部署或 CLI 工具上传。老式虚拟主机(如 Bluehost、SiteGround)才保留 FTP 支持。先查控制面板(cPanel、Plesk)里有没有 FTP Accounts 或 File Manager 入口;没有就别折腾 FTP —— 直接用平台提供的部署方式更快更安全。
- 如果看到
FTP Host、Username、Password、Port(默认 21,SFTP 是 22),说明可用 - 若只有
SFTP选项,必须用支持 SSH 的客户端(如 FileZilla、Cyberduck、WinSCP),不能用普通 FTP 工具连 - 部分主机已禁用明文 FTP(端口 21),强制要求
FTPS(FTP over SSL)或SFTP,否则会报错530 Login authentication failed
FileZilla 连接与上传操作要点
FileZilla 是最常用的免费 FTP 客户端,但默认设置容易出错。关键不是“点几下”,而是配对协议、加密和路径。
- 协议选对:在“站点管理器”中,
Protocol下拉菜单必须选SFTP - SSH File Transfer Protocol(不是 FTP 或 FTPES),否则连不上新主机 - 主机填法:如果是 SFTP,
Host填服务器 IP 或域名,Port填22;如果是旧 FTP,才填21,且需开启Require explicit FTP over TLS - 登录后左侧是本地文件(你的 HTML5 项目根目录),右侧是远程服务器目录;不要直接拖进
/根目录,应定位到网站主目录(常见路径:/public_html、/www、/html、/var/www/html) - 上传前检查:确保本地有
index.html(服务器靠它当首页),且所有、路径都是相对路径,不是C:\project\css\...这种本地绝对路径
上传后打不开页面?重点排查这三处
文件传上去了不代表能访问,常见问题几乎都卡在路径、权限或缓存上。
立即学习“前端免费学习笔记(深入)”;
- URL 访问地址写错:不是
ftp://yourdomain.com,而是浏览器输http://yourdomain.com或https://yourdomain.com;如果放子目录(如/public_html/myapp/),就得访问http://yourdomain.com/myapp/ - 文件权限不对:Linux 服务器上,
index.html权限应为644,文件夹为755;右键远程文件 → “文件权限” → 勾选Readfor Group/Other,避免403 Forbidden - 浏览器缓存旧版本:改了
index.html但页面没变?强制刷新(Ctrl+Shift+R或Cmd+Shift+R),或临时加版本号测试:
比 FTP 更推荐的替代方案
FTP 本身不加密、无校验、难自动化,仅适合一次性小项目。真实开发中,以下方式更可靠:
- Git + 主机自动部署:把 HTML5 项目推到 GitHub/GitLab,配置 Webhook,服务器收到推送后自动
git pull,无需手动传文件 - rsync(Linux/macOS 终端):
rsync -avz --delete ./public/ user@server:/var/www/html/
支持增量同步、断点续传,比 FTP 稳定得多 - 静态站托管服务:Vercel、Netlify、Cloudflare Pages,拖拽上传或连 GitHub,几秒上线,自带 HTTPS 和 CDN,完全不用管 FTP
真正需要 FTP 的场景越来越少,除非你被限定在老旧共享主机环境里 —— 那就务必确认协议类型、目标路径和文件权限,其他都是次要的。










