logo 个人代码分享
Linux 运维

静态站点部署目录规范

静态站点部署目录保持源码、脚本与运行目录分离,确保部署流程清晰可控。

目录结构设计原则

静态站点的部署目录设计应遵循以下原则:

  • 源码与运行分离:代码仓库和网站运行目录分开,避免直接在运行目录进行版本管理操作
  • 脚本独立存放:部署脚本、构建脚本等工具脚本单独存放,便于维护和复用
  • 资源分类清晰:静态资源(CSS、JS、图片)按类型组织,便于缓存策略配置

推荐目录结构

以下是推荐的静态站点目录结构:

hefei-space/
├── index.html              # 站点入口
├── articles/               # 文章页面
│   ├── index.html          # 文章列表
│   ├── article-1.html      # 文章详情
│   └── article-2.html
├── assets/                 # 静态资源
│   ├── styles.css          # 样式文件
│   ├── app.js              # 交互脚本
│   └── images/             # 图片资源
├── server/                 # 服务器脚本
│   └── webhook-deploy.sh   # 部署脚本
└── README.md               # 项目说明

服务器部署目录

服务器上的运行目录固定为:

/www/wwwroot/hefei.space

该目录通过 Git 拉取代码仓库内容,保持与远程仓库同步。

首次部署

首次部署时,需要在服务器上克隆代码仓库:

# 进入网站根目录
cd /www/wwwroot

# 克隆代码仓库
git clone https://cnb.cool/chevnia/hefei-space hefei.space

# 进入站点目录
cd hefei.space

# 设置部署脚本权限
chmod +x server/webhook-deploy.sh

自动部署配置

配置宝塔面板的 webhook,当代码推送到远程仓库时自动触发部署:

# 宝塔 webhook 执行内容
cd /www/wwwroot/hefei.space && bash server/webhook-deploy.sh

部署脚本说明

部署脚本 webhook-deploy.sh 的主要功能:

  1. 进入站点目录
  2. 获取远程仓库最新代码
  3. 重置本地分支到远程最新状态
#!/usr/bin/env bash
set -euo pipefail

cd /www/wwwroot/hefei.space
git fetch origin main
git reset --hard origin/main

注意事项

  • 确保服务器上的 Git 用户有权限访问代码仓库
  • 部署脚本应设置正确的文件权限(chmod +x
  • 建议在部署前备份重要数据
  • 监控部署日志,及时发现和解决问题