静态站部署(Nginx / 对象存储)

更新于 2026年8月21日

适用人群:已构建出静态文件、要部署上线的站长。

核心概念

两种主流托管

  • Nginx:把 public/ 上传到服务器站点目录,root 指向它即可,可控性最强。
  • 对象存储静态托管:云厂商的对象存储(OSS/COS 等)开启「静态网站」功能,直接托管文件,免维护服务器;境内对象存储绑定自定义域名同样要求域名已备案。

部署 = 同步文件

静态站没有后端,部署本质就是把构建产物同步上去,用 rsync/scp(Nginx)或云厂商 CLI(对象存储)都可以。

操作步骤

  1. 步骤 1选托管

    要极致可控选 Nginx 服务器;要免运维选对象存储静态托管。

  2. 步骤 2方式 A:Nginx

    把 public/ 用 rsync 同步到服务器站点目录,Nginx server 块 root 指向它,index 设为 index.html。

  3. 步骤 3方式 B:对象存储

    在云对象存储开启静态网站托管,上传 public/ 文件,设置默认首页与 404 页,再绑定自定义域名(需已备案)。

  4. 步骤 4配置回退

    若有干净 URL 需求,Nginx 用 try_files 回退,对象存储设置默认文档规则。

  5. 步骤 5验证

    访问域名或临时地址确认页面、样式、链接都正常。

实际示例

# 静态站 Nginx 站点
server {
    listen 80;
    server_name example.com www.example.com;
    root /www/wwwroot/example.com/public;
    index index.html;
    location / {
        try_files $uri $uri/ =404;
    }
}
# rsync 同步产物到服务器
rsync -avz --delete public/ user@server:/www/wwwroot/example.com/public/

常见错误

  • ⚠️root 指到源码目录而不是 public/,页面打不开或显示目录列表
  • ⚠️对象存储绑自定义域名时域名未备案,境内无法正常访问
  • ⚠️rsync 用了 --delete 但源目录选错,误删服务器上的文件
  • ⚠️忘了设默认首页/404 文档,访问目录或错误路径时行为异常

对应工具

常见问题

对象存储托管静态站要备案吗?
境内对象存储绑定自定义域名对外访问时,域名同样需要已备案;用默认的存储访问域名一般有使用限制,正式对外仍建议备案后绑自有域名。
部署后页面能打开但样式丢失?
多是资源路径不对——检查生成时的 baseURL/url 是否为正式域名,以及静态资源是否随 public/ 一起上传。

相关教程

相关文章

官方资料来源