目录结构设计原则
静态站点的部署目录设计应遵循以下原则:
- 源码与运行分离:代码仓库和网站运行目录分开,避免直接在运行目录进行版本管理操作
- 脚本独立存放:部署脚本、构建脚本等工具脚本单独存放,便于维护和复用
- 资源分类清晰:静态资源(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 的主要功能:
- 进入站点目录
- 获取远程仓库最新代码
- 重置本地分支到远程最新状态
#!/usr/bin/env bash
set -euo pipefail
cd /www/wwwroot/hefei.space
git fetch origin main
git reset --hard origin/main
注意事项
- 确保服务器上的 Git 用户有权限访问代码仓库
- 部署脚本应设置正确的文件权限(
chmod +x) - 建议在部署前备份重要数据
- 监控部署日志,及时发现和解决问题