# 玩玩云 - 一键部署指南 ## 🚀 一键安装命令 在您的服务器上执行以下任意一条命令即可开始安装: ### 方式1: 使用 curl ```bash curl -fsSL https://gitee.com/yu-yon/vue-driven-cloud-storage/raw/master/install.sh | bash ``` ### 方式2: 使用 wget ```bash wget -qO- https://gitee.com/yu-yon/vue-driven-cloud-storage/raw/master/install.sh | bash ``` --- ## 🔄 一键更新命令 如果您已经部署了玩玩云,可以使用以下命令快速更新到最新版本: ### 方式1: 使用 curl (推荐) ```bash curl -fsSL https://gitee.com/yu-yon/vue-driven-cloud-storage/raw/master/install.sh | bash -s -- --update ``` ### 方式2: 使用 wget ```bash wget -qO- https://gitee.com/yu-yon/vue-driven-cloud-storage/raw/master/install.sh | bash -s -- --update ``` ### 方式3: 本地脚本 ```bash wget https://gitee.com/yu-yon/vue-driven-cloud-storage/raw/master/install.sh bash install.sh --update ``` ### 更新说明 更新过程会: - ✅ 从Gitee拉取最新代码 - ✅ 自动备份数据库和用户文件 - ✅ 更新后端依赖(npm install) - ✅ 重启后端服务 - ✅ 保留所有配置和用户数据 更新不会影响: - ✅ 数据库文件(用户、分享链接等) - ✅ 用户上传的文件(storage目录) - ✅ 配置文件(.env) - ✅ Nginx配置 --- ## 📋 系统要求 ### 支持的操作系统 - Ubuntu 18.04 / 20.04 / 22.04 - Debian 10 / 11 / 12 - CentOS 7 / 8 - RHEL 7 / 8 ### 硬件要求 - **CPU**: 1核心及以上 - **内存**: 最低512MB,推荐1GB+ - **磁盘**: 最低2GB可用空间,推荐5GB+ - **网络**: 需要能访问外网(下载依赖包) ### 端口要求 - **80**: HTTP访问(必须) - **443**: HTTPS访问(可选,如果使用SSL) - **40001**: 后端服务端口(内部使用) --- ## 🎯 部署流程 执行安装命令后,脚本会自动引导您完成以下步骤: ### 1️⃣ 环境检测 自动检测系统信息: - 操作系统类型和版本 - CPU架构 - 内存和磁盘空间 - 网络连接状态 - 公网IP地址 ### 2️⃣ 选择软件源 ``` 请选择软件包安装源: [1] 官方源 (国外服务器推荐) [2] 阿里云镜像源 (国内服务器推荐,速度更快) ``` **建议**: 国内服务器选择 [2],国外服务器选择 [1] ### 3️⃣ 自动安装依赖 脚本会自动安装以下环境(如果未安装): - Node.js 18.x - Nginx - PM2 - SQLite3 - 其他必要工具 ### 4️⃣ 选择访问模式 #### 域名模式 (推荐) ``` 请选择访问模式: [1] 域名模式 (推荐,支持HTTPS) [2] IP模式 (仅HTTP,适合测试) ``` **如果选择 [1] 域名模式**: 1. 输入您的域名(例如: wwy.example.com) 2. 脚本会自动验证域名解析 3. 选择SSL证书部署方式 #### SSL证书方案 ``` 请选择SSL证书自动部署方式: 【推荐方案】 [1] Certbot (Let's Encrypt官方工具) - 最稳定可靠,支持自动续期 【备选方案】 [2] acme.sh + Let's Encrypt - 纯Shell脚本,更轻量级 [3] acme.sh + ZeroSSL - Let's Encrypt的免费替代品 [4] acme.sh + Buypass - 挪威免费CA,有效期180天 【云服务商证书】 [5] 阿里云免费证书 (需提供AccessKey) [6] 腾讯云免费证书 (需提供SecretKey) 【其他选项】 [7] 使用已有证书 (手动上传证书文件) [8] 暂不配置HTTPS (可后续配置) ``` **建议**: - 首选 [1] Certbot - 如果失败,脚本会自动建议尝试 [2] 或 [3] - 测试环境可选 [8] 跳过HTTPS ### 5️⃣ 配置管理员账号 ``` 管理员用户名 [默认: admin]: 管理员密码(至少6位): 确认密码: ``` ### 6️⃣ 自动部署 脚本会自动完成: - ✅ 创建项目目录 - ✅ 从Gitee下载项目代码 - ✅ 安装后端依赖(npm install) - ✅ 创建配置文件和数据库 - ✅ 部署SSL证书(如果选择) - ✅ 配置Nginx反向代理 - ✅ 启动后端服务(PM2管理) - ✅ 健康检查 ### 7️⃣ 部署完成 ``` ╔═══════════════════════════════════════════════════════════════╗ ║ ║ ║ 🎉 部署成功! ║ ║ ║ ╚═══════════════════════════════════════════════════════════════╝ 访问地址: https://wwy.example.com 管理员账号: admin 管理员密码: ******** 常用命令: 查看服务状态: pm2 status 查看日志: pm2 logs wanwanyun-backend 重启服务: pm2 restart wanwanyun-backend 停止服务: pm2 stop wanwanyun-backend ``` --- ## 🔧 常见问题 ### 1. 如何查看部署日志? ```bash pm2 logs wanwanyun-backend ``` ### 2. 如何重启服务? ```bash pm2 restart wanwanyun-backend ``` ### 3. 如何修改配置? 编辑配置文件后重启服务: ```bash nano /var/www/wanwanyun/backend/.env pm2 restart wanwanyun-backend ``` ### 4. SSL证书过期怎么办? - **Certbot**: 自动续期,无需手动操作 - **acme.sh**: 自动续期,无需手动操作 - **手动证书**: 需要手动更新证书文件并重启Nginx ### 5. 忘记管理员密码怎么办? 修改配置文件并重启: ```bash nano /var/www/wanwanyun/backend/.env # 修改 ADMIN_PASSWORD 的值 pm2 restart wanwanyun-backend ``` ### 6. 如何卸载? 使用一键卸载命令: ```bash # 方式1: 在线卸载 curl -fsSL https://gitee.com/yu-yon/vue-driven-cloud-storage/raw/master/install.sh | bash -s -- --uninstall # 方式2: 在线卸载 wget -qO- https://gitee.com/yu-yon/vue-driven-cloud-storage/raw/master/install.sh | bash -s -- --uninstall # 方式3: 本地卸载(如果已下载脚本) bash install.sh --uninstall ``` **卸载特性**: - 双重确认机制,防止误删 - 可选数据备份到 `/root/wanwanyun-backup-YYYYMMDD-HHMMSS` - 完整清理: - PM2 进程: wanwanyun-backend - 项目目录: /var/www/wanwanyun - Nginx 配置: /etc/nginx/sites-enabled/wanwanyun.conf - SSL 证书: /etc/nginx/ssl/* - 临时文件和缓存 - 保留系统环境: - Node.js - Nginx - PM2 - 编译工具(build-essential、gcc-c++等) - 智能残留检查 **手动卸载**(仅作参考,推荐使用自动卸载): ```bash # 停止服务 pm2 delete wanwanyun-backend # 删除项目目录 rm -rf /var/www/wanwanyun # 删除Nginx配置 rm -f /etc/nginx/sites-enabled/wanwanyun.conf systemctl reload nginx ``` ### 7. 端口被占用怎么办? 检查端口占用: ```bash netstat -tunlp | grep :80 netstat -tunlp | grep :40001 ``` 停止占用端口的进程或修改配置文件端口。 ### 8. 域名解析未生效怎么办? - 等待DNS解析生效(通常需要几分钟到几小时) - 暂时选择 [8] 跳过HTTPS配置 - 解析生效后可手动配置SSL --- ## 📞 获取帮助 - **项目地址**: https://gitee.com/yu-yon/vue-driven-cloud-storage - **问题反馈**: 提交Issue到Gitee仓库 - **部署文档**: 查看项目README.md --- ## 📝 注意事项 1. **需要root权限**: 脚本需要使用 `sudo` 或以root用户运行 2. **防火墙设置**: 确保80和443端口已开放 3. **域名解析**: 使用域名模式前,请先将域名解析到服务器IP 4. **备份数据**: 升级前请备份数据库和配置文件 5. **网络环境**: 需要能够访问外网下载依赖包 --- **祝您使用愉快!** 🎉