如何把html5发布到服务器

1次阅读

html5静态网站只需上传文件到web服务器根目录即可运行,无需服务端程序;推荐用scp或rsync推送,注意权限、相对路径及nginx/apache默认首页配置。

如何把html5发布到服务器

直接扔进 Web 服务器根目录就行

html5 本质就是一静态文件(index.htmlstyle.cssscript.js 等),没有编译或运行时依赖,只要服务器能返回文件,就能跑起来。别被“HTML5”这个词唬住——它不是要部署服务端程序。

scprsync 推送到 linux 服务器最稳

本地写完,终端连上服务器,把整个项目文件夹推过去。比 FTP 可靠,支持断点续传,也容易脚本化。

  • scp -r ./my-website/ user@server:/var/www/html/(注意末尾斜杠,表示覆盖目录内容)
  • rsync -avz --delete ./my-website/ user@server:/var/www/html/--delete 同步删除,避免旧文件残留)
  • 确保目标路径权限正确:chown -R www-data:www-data /var/www/html/(Nginx/Apache 默认用户可能不同)

本地测试路径和线上路径不一致?小心相对路径炸锅

开发时双击打开 index.html 是用 file:// 协议,浏览器会禁掉 fetchXMLhttpRequest,且所有相对路径都按文件系统解析;一上传到服务器变成 http://,规则就变了。

  • 图片、CSS、JS 的 srchref 全用相对路径(如 ./assets/logo.png),别用绝对路径 /assets/logo.png,除非你确定网站部署在域名根路径
  • 如果必须部署到子路径(比如 https://example.com/myapp/),改用 <base href="/myapp/">,否则所有相对链接都会错位
  • 用浏览器开发者工具的 Network 面板看 404 请求,一眼定位哪个资源没加载对

Nginx/Apache 没配好?常见 403 和 404 就在这儿卡住

文件明明传上去了,却打不开,大概率是 Web 服务器配置没认出 index.html 是默认首页,或拒绝了目录访问。

立即学习前端免费学习笔记(深入)”;

  • Nginx:检查 location / { ... } 块里有没有 index index.html;,缺了这句就会返回 403 或 404
  • Apache:确认 DirectoryIndex index.html 已启用,且 .htaccess 没误删或写错规则
  • 上传后执行 curl -I http://your-domain.com/index.html,看返回是不是 200 OK,而不是 403 Forbidden

真正麻烦的从来不是“怎么传”,而是传完发现路径不对、权限不对、服务器默认页没认出来——这些地方一卡就是半小时,但其实查三行日志、改一个配置项就解决。

text=ZqhQzanResources