diff --git a/DEPLOY_GUIDE.md b/DEPLOY_GUIDE.md new file mode 100644 index 0000000..2f56b53 --- /dev/null +++ b/DEPLOY_GUIDE.md @@ -0,0 +1,501 @@ +# 🚀 网站部署完整指南 - solarark.net/g2026/g4/ + +## 📋 部署前检查清单 + +### ✅ 代码准备状态 +- [x] HTML 已添加 `` +- [x] SEO meta 标签已配置 +- [x] .htaccess 服务器配置已创建 +- [x] 所有资源使用相对路径 +- [x] 代码已推送到 Gitea 仓库 + +### 📦 当前文件清单 +``` +✅ index.html (15.8KB) +✅ css/style.css +✅ js/main.js +✅ .htaccess +✅ images/ (文件夹) +✅ README.md +✅ DEPLOYMENT.md +✅ CHECKLIST.md +``` + +--- + +## 🎯 部署方案选择 + +根据你的服务器访问方式,选择以下任一方案: + +### 方案一:SSH + Git 部署(推荐 ⭐⭐⭐⭐⭐) + +**适用场景**:有服务器 SSH 访问权限 + +**优点**: +- ✅ 自动化程度高 +- ✅ 后续更新方便 +- ✅ 版本控制完整 + +**步骤**: + +#### 1. 连接到服务器 +```bash +ssh username@solarark.net +# 输入密码 +``` + +#### 2. 进入部署目录 +```bash +cd /var/www/html/g2026/g4 +# 或者实际的项目根目录 +``` + +#### 3. 克隆仓库 +```bash +# 如果目录为空 +git clone https://gitea.solarark.net/yangyuqing/new-site.git . + +# 如果需要输入凭据 +Username: yangyuqing +Password: [你的Gitea密码] +``` + +#### 4. 设置权限 +```bash +# Apache +sudo chown -R www-data:www-data /var/www/html/g2026/g4 +sudo chmod -R 755 /var/www/html/g2026/g4 + +# Nginx +sudo chown -R nginx:nginx /var/www/html/g2026/g4 +sudo chmod -R 755 /var/www/html/g2026/g4 +``` + +#### 5. 重启 Web 服务器 +```bash +# Apache +sudo systemctl restart apache2 + +# Nginx +sudo systemctl restart nginx +``` + +#### 6. 验证部署 +```bash +curl -I https://solarark.net/g2026/g4/ +# 应该返回 HTTP/1.1 200 OK +``` + +--- + +### 方案二:FTP/SFTP 上传(常用 ⭐⭐⭐⭐) + +**适用场景**:只有 FTP 访问权限 + +**工具推荐**: +- FileZilla(免费) +- WinSCP(Windows) +- Cyberduck(Mac) + +**步骤**: + +#### 1. 下载 FileZilla +``` +https://filezilla-project.org/ +``` + +#### 2. 连接服务器 +``` +主机: solarark.net +用户名: [你的FTP用户名] +密码: [你的FTP密码] +端口: 21 (FTP) 或 22 (SFTP) +``` + +#### 3. 上传文件 +``` +本地站点: d:\my_website +远程站点: /g2026/g4/ + +拖拽以下文件到远程目录: +├── index.html +├── css/ +│ └── style.css +├── js/ +│ └── main.js +├── images/ +├── .htaccess +└── README.md +``` + +#### 4. 验证上传 +- 确认所有文件传输成功 +- 检查文件大小是否一致 +- 确保 `.htaccess` 文件已上传(隐藏文件需显示) + +--- + +### 方案三:使用部署脚本(高级 ⭐⭐⭐⭐⭐) + +**适用场景**:Linux 服务器,有 root 权限 + +**步骤**: + +#### 1. 上传部署脚本 +```bash +# 从本地上传 deploy.sh 到服务器 +scp deploy.sh username@solarark.net:/tmp/ +``` + +#### 2. 在服务器上执行 +```bash +ssh username@solarark.net + +# 赋予执行权限 +chmod +x /tmp/deploy.sh + +# 运行脚本 +sudo /tmp/deploy.sh +``` + +#### 3. 脚本会自动完成 +- ✅ 创建部署目录 +- ✅ 克隆 Git 仓库 +- ✅ 设置文件权限 +- ✅ 重启 Web 服务器 + +--- + +### 方案四:使用 Windows 打包脚本(简单 ⭐⭐⭐) + +**适用场景**:Windows 用户,通过 FTP 上传 + +**步骤**: + +#### 1. 运行打包脚本 +```cmd +# 在项目根目录双击运行 +deploy.bat + +# 或在命令行中运行 +cd d:\my_website +deploy.bat +``` + +#### 2. 脚本会生成 ZIP 包 +``` +website_deploy_20260602_143025.zip +``` + +#### 3. 上传 ZIP 到服务器 +- 使用 FTP 工具上传 ZIP 文件 +- 在服务器上解压到 `/g2026/g4/` + +#### 4. 在服务器上解压 +```bash +# SSH 连接到服务器 +cd /var/www/html/g2026/g4 +unzip website_deploy_*.zip +rm website_deploy_*.zip +``` + +--- + +## 🔧 服务器配置检查 + +### Apache 服务器 + +确保 `.htaccess` 生效,检查 `httpd.conf`: +```apache +# 启用 mod_rewrite +LoadModule rewrite_module modules/mod_rewrite.so + +# 允许 .htaccess 覆盖 + + AllowOverride All + Require all granted + +``` + +### Nginx 服务器 + +创建站点配置文件 `/etc/nginx/sites-available/g2026-g4`: +```nginx +server { + listen 80; + server_name solarark.net; + + root /var/www/html/g2026/g4; + index index.html; + + location /g2026/g4/ { + try_files $uri $uri/ /g2026/g4/index.html; + + # Gzip 压缩 + gzip on; + gzip_types text/css application/javascript; + + # 缓存设置 + location ~* \.(jpg|jpeg|png|gif|webp)$ { + expires 1y; + add_header Cache-Control "public"; + } + + location ~* \.(css|js)$ { + expires 1M; + add_header Cache-Control "public"; + } + } +} +``` + +启用配置: +```bash +sudo ln -s /etc/nginx/sites-available/g2026-g4 /etc/nginx/sites-enabled/ +sudo nginx -t +sudo systemctl reload nginx +``` + +--- + +## ✅ 部署后验证 + +### 1. 访问测试 +``` +打开浏览器访问:https://solarark.net/g2026/g4/ +``` + +### 2. 控制台检查(F12) +``` +✅ Console 无红色错误 +✅ Network 所有资源状态码 200 +✅ 无 404 错误 +``` + +### 3. 功能测试 +``` +✅ 导航栏点击平滑滚动 +✅ 移动端汉堡菜单正常 +✅ 卡片悬停动画流畅 +✅ 响应式布局正确 +``` + +### 4. 跨设备测试 +``` +桌面端 (>1024px): 多列布局 +平板端 (768-1024px): 自适应 +手机端 (<768px): 单列 + 汉堡菜单 +``` + +### 5. 性能测试 +``` +Chrome DevTools → Lighthouse +目标评分: +- Performance: 90+ +- Accessibility: 85+ +- Best Practices: 90+ +- SEO: 90+ +``` + +--- + +## ⚠️ 常见问题排查 + +### 问题1:页面显示空白 + +**原因**:CSS/JS 文件未加载 + +**解决**: +```bash +# 检查文件是否存在 +ls -la /var/www/html/g2026/g4/css/style.css +ls -la /var/www/html/g2026/g4/js/main.js + +# 检查文件权限 +ls -l /var/www/html/g2026/g4/ + +# 应该是 -rw-r--r-- (644) 或 -rwxr-xr-x (755) +``` + +### 问题2:样式错乱 + +**原因**:`.htaccess` 未生效或 base 路径错误 + +**解决**: +```html + + + + + +``` + +### 问题3:404 Not Found + +**原因**:URL 重写规则未配置 + +**解决**: +```apache +# Apache: 检查 .htaccess 是否存在且可读 +cat /var/www/html/g2026/g4/.htaccess + +# Nginx: 检查 try_files 配置 +location /g2026/g4/ { + try_files $uri $uri/ /g2026/g4/index.html; +} +``` + +### 问题4:图片不显示 + +**原因**:图片未上传或路径错误 + +**解决**: +```bash +# 检查图片目录 +ls -la /var/www/html/g2026/g4/images/ + +# 确保图片文件存在 +# 如果使用占位图,暂时不需要实际图片 +``` + +### 问题5:移动端显示异常 + +**原因**:viewport meta 标签缺失 + +**解决**: +```html + + +``` + +--- + +## 🔄 后续更新流程 + +### 方式一:Git Pull(推荐) +```bash +# SSH 连接到服务器 +ssh username@solarark.net + +# 进入项目目录 +cd /var/www/html/g2026/g4 + +# 拉取最新代码 +git pull origin master + +# 重启 Web 服务器 +sudo systemctl restart apache2 +``` + +### 方式二:重新上传 +```bash +# 本地修改代码后 +git add . +git commit -m "更新说明" +git push + +# 服务器上 +cd /var/www/html/g2026/g4 +git pull +``` + +### 方式三:FTP 覆盖 +``` +1. 本地修改文件 +2. 使用 FileZilla 重新上传修改的文件 +3. 覆盖远程文件 +``` + +--- + +## 📞 需要帮助? + +### 联系老师时提供以下信息: + +1. **访问地址** + ``` + https://solarark.net/g2026/g4/ + ``` + +2. **部署时间** + ``` + [记录部署的具体时间] + ``` + +3. **使用的部署方式** + ``` + □ SSH + Git + □ FTP/SFTP + □ 部署脚本 + □ 其他方式 + ``` + +4. **测试结果** + ``` + □ 桌面端正常 + □ 移动端正常 + □ 所有功能正常 + □ 存在问题:[描述问题] + ``` + +5. **截图**(如有问题) + - 浏览器控制台错误 + - 页面显示异常 + - Network 标签的 404 错误 + +--- + +## 🎊 部署成功标志 + +当以下条件全部满足时,部署成功: + +- [ ] 可以通过 https://solarark.net/g2026/g4/ 访问 +- [ ] 页面正常显示,无空白 +- [ ] CSS 样式正确加载 +- [ ] JavaScript 功能正常 +- [ ] 导航链接可点击跳转 +- [ ] 移动端响应式正常 +- [ ] 艺术设计效果完美呈现 +- [ ] 在不同设备上测试通过 +- [ ] 老师验收通过 + +--- + +## 💡 最佳实践建议 + +### 1. 备份策略 +```bash +# 部署前备份 +cp -r /var/www/html/g2026/g4 /var/www/html/g2026/g4_backup_$(date +%Y%m%d) +``` + +### 2. 日志监控 +```bash +# 查看 Apache 错误日志 +tail -f /var/log/apache2/error.log + +# 查看 Nginx 错误日志 +tail -f /var/log/nginx/error.log +``` + +### 3. 性能优化 +```bash +# 启用 Gzip 压缩 +# 配置浏览器缓存 +# 优化图片大小 +# 使用 CDN(可选) +``` + +### 4. 安全加固 +```bash +# 设置正确的文件权限 +# 禁用目录浏览 +# 配置 HTTPS +# 定期更新依赖 +``` + +--- + +**祝你部署顺利,毕业设计展示圆满成功!** 🎓✨ + +*最后更新:2026-06-02* diff --git a/deploy.bat b/deploy.bat new file mode 100644 index 0000000..53dc3ac --- /dev/null +++ b/deploy.bat @@ -0,0 +1,73 @@ +@echo off +REM ====================================== +REM 毕业设计网站部署脚本 - Windows版本 +REM 目标: https://solarark.net/g2026/g4/ +REM ====================================== + +echo. +echo ====================================== +echo 毕业设计网站部署脚本 +echo 目标: https://solarark.net/g2026/g4/ +echo ====================================== +echo. + +REM 检查 Git 是否安装 +where git >nul 2>nul +if %ERRORLEVEL% NEQ 0 ( + echo [错误] 未检测到 Git,请先安装 Git + echo 下载地址: https://git-scm.com/download/win + pause + exit /b 1 +) + +REM 设置变量 +set REPO_URL=https://gitea.solarark.net/yangyuqing/new-site.git +set BRANCH=master +set DEPLOY_DIR=%CD%\deploy_temp + +echo [1/5] 准备部署目录... +if exist "%DEPLOY_DIR%" rmdir /s /q "%DEPLOY_DIR%" +mkdir "%DEPLOY_DIR%" + +echo [2/5] 克隆仓库... +cd "%DEPLOY_DIR%" +git clone %REPO_URL% . --branch %BRANCH% --depth 1 + +if %ERRORLEVEL% NEQ 0 ( + echo [错误] 克隆失败,请检查网络连接和凭据 + pause + exit /b 1 +) + +echo [3/5] 验证文件... +if not exist "index.html" ( + echo [错误] index.html 不存在,部署失败 + pause + exit /b 1 +) + +echo [4/5] 创建部署包... +cd .. +set TIMESTAMP=%date:~0,4%%date:~5,2%%date:~8,2%_%time:~0,2%%time:~3,2%%time:~6,2% +set ZIP_FILE=website_deploy_%TIMESTAMP%.zip + +REM 使用 PowerShell 压缩文件 +powershell -Command "Compress-Archive -Path '%DEPLOY_DIR%\*' -DestinationPath '%ZIP_FILE%' -Force" + +echo [5/5] 清理临时文件... +rmdir /s /q "%DEPLOY_DIR%" + +echo. +echo ====================================== +echo ✅ 部署包已创建! +echo 文件: %ZIP_FILE% +echo ====================================== +echo. +echo 下一步操作: +echo 1. 使用 FTP/SFTP 工具连接到 solarark.net +echo 2. 上传 %ZIP_FILE% 到服务器 +echo 3. 在服务器上解压到 /g2026/g4/ 目录 +echo 4. 访问 https://solarark.net/g2026/g4/ 测试 +echo. + +pause diff --git a/deploy.sh b/deploy.sh new file mode 100644 index 0000000..64073c1 --- /dev/null +++ b/deploy.sh @@ -0,0 +1,53 @@ +#!/bin/bash +# 部署脚本 - 将代码部署到 solarark.net 服务器的 /g2026/g4/ 目录 + +echo "======================================" +echo " 毕业设计网站部署脚本" +echo " 目标: https://solarark.net/g2026/g4/" +echo "======================================" + +# 配置变量 +DEPLOY_DIR="/var/www/html/g2026/g4" # 根据实际服务器路径修改 +REPO_URL="https://gitea.solarark.net/yangyuqing/new-site.git" +BRANCH="master" + +# 检查是否以 root 权限运行 +if [ "$EUID" -ne 0 ]; then + echo "请使用 sudo 运行此脚本" + exit 1 +fi + +# 创建部署目录(如果不存在) +echo "1. 创建部署目录..." +mkdir -p $DEPLOY_DIR + +# 进入部署目录 +cd $DEPLOY_DIR + +# 如果目录中已有 git 仓库,则更新 +if [ -d ".git" ]; then + echo "2. 更新现有仓库..." + git fetch origin + git reset --hard origin/$BRANCH +else + echo "2. 克隆新仓库..." + git clone $REPO_URL . + git checkout $BRANCH +fi + +# 设置正确的文件权限 +echo "3. 设置文件权限..." +chown -R www-data:www-data $DEPLOY_DIR +chmod -R 755 $DEPLOY_DIR + +# 重启 Web 服务器(根据需要选择) +echo "4. 重启 Web 服务器..." +# Apache +systemctl restart apache2 +# 或者 Nginx +# systemctl restart nginx + +echo "======================================" +echo " ✅ 部署完成!" +echo " 访问地址: https://solarark.net/g2026/g4/" +echo "======================================"