告别某度网盘!9.9元自建香港私有云教程(含完整代码)
免费快速起号(微信号)
yycoo88
在如今的数字化时代,个人数据存储的安全性与可控性越来越受到重视。然而,国内主流网盘如百度网盘,虽然免费容量大、下载速度快,但存在广告多、限速严重、隐私安全难以保障等问题。对于有一定技术基础的用户来说,搭建一个私有云存储系统,不仅能摆脱这些限制,还能实现更灵活的数据管理和访问控制。
本文将手把手教你如何使用仅需9.9元/月的VPS(虚拟私人服务器),在香港节点上自建一个属于自己的私有云存储平台,并提供完整的配置流程和代码示例。整个过程偏向技术向,适合具备基本Linux操作能力的用户阅读。
为什么选择自建私有云?
1.1 数据主权
自己掌控服务器和数据,避免第三方平台随意删除或泄露。1.2 网络速度
国内访问香港节点延迟较低,且不受“限速”影响。1.3 成本低廉
本文推荐的方案每月成本仅 9.9元人民币,性价比极高。1.4 功能可定制
可以集成文件同步、在线预览、团队协作等功能。准备工作
2.1 VPS选择:搬瓦工(BandwagonHost)
推荐使用 搬瓦工的CN2 GIA线路的VPS,网络质量优秀,延迟低,适合部署对外服务。价格为:
配置 | 价格 |
---|---|
512MB内存 / 1核CPU / 10GB SSD / 500GB流量 | $0.99/月(约9.9元人民币) |
官网地址:https://bandwagonhost.com
注册后选择 HK(Hong Kong)节点即可。
2.2 操作系统
安装 CentOS 7 或 Ubuntu 20.04 LTS(本文以 Ubuntu 20.04 为例)。
部署私有云系统:Nextcloud + Docker
我们采用开源项目 Nextcloud,它是一个功能强大的私有云解决方案,支持文件管理、日历、联系人、办公文档协同编辑等。
我们将使用 Docker 来快速部署 Nextcloud,确保环境隔离和稳定性。
3.1 安装 Docker 和 Docker Compose
# 安装 Dockersudo apt updatesudo apt install -y docker.io# 安装 Docker Composesudo curl -L "https://github.com/docker/compose/releases/download/v2.23.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-composesudo chmod +x /usr/local/bin/docker-compose# 验证安装docker --version && docker-compose --version
3.2 创建 Docker Compose 文件
创建一个目录用于存放配置文件:
mkdir -p ~/nextcloud && cd ~/nextcloudnano docker-compose.yml
将以下内容粘贴进去:
version: '3'services: nextcloud: image: nextcloud container_name: nextcloud restart: always ports: - "8080:80" volumes: - ./data:/var/www/html environment: - MYSQL_HOST=db - MYSQL_USER=nextcloud - MYSQL_PASSWORD=nextcloud - MYSQL_DATABASE=nextcloud depends_on: - db db: image: mariadb container_name: nextcloud-db restart: always volumes: - ./db:/var/lib/mysql environment: - MYSQL_ROOT_PASSWORD=root - MYSQL_USER=nextcloud - MYSQL_PASSWORD=nextcloud - MYSQL_DATABASE=nextcloud
保存并退出(Ctrl+O,回车,Ctrl+X)。
3.3 启动容器
docker-compose up -d
此时,Nextcloud 将会自动启动,首次运行时会初始化数据库,大约需要几分钟时间。
配置域名与 HTTPS 访问(可选但建议)
为了方便访问和启用 HTTPS 加密,你需要绑定一个域名到你的 VPS IP 地址,并使用 Let's Encrypt 免费证书。
4.1 安装 Nginx 和 Certbot
sudo apt install -y nginx certbot python3-certbot-nginx
4.2 配置 Nginx 反向代理
创建新的站点配置文件:
sudo nano /etc/nginx/sites-available/nextcloud
内容如下:
upstream php-handler { server 127.0.0.1:8080;}server { listen 80; server_name yourdomain.com; location / { proxy_pass http://php-handler; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; }}
替换 yourdomain.com
为你自己的域名。
然后启用该配置:
sudo ln -s /etc/nginx/sites-available/nextcloud /etc/nginx/sites-enabled/sudo nginx -t && sudo systemctl reload nginx
4.3 获取 SSL 证书
sudo certbot --nginx -d yourdomain.com
按照提示完成操作,HTTPS 即可生效。
访问与初始化设置
打开浏览器,访问:
http://yourdomain.com
或者直接通过公网 IP 访问:
http://<your-vps-ip>:8080
进入安装页面:
创建管理员账号(用户名、密码)数据库选择 MySQL/MariaDB数据库用户:nextcloud密码:nextcloud数据库名:nextcloud数据库存储路径保持默认即可最后点击“安装”安装完成后,你就可以登录并开始上传、共享文件了!
进阶配置(推荐)
6.1 设置定时任务
Nextcloud 的一些功能(如日历提醒、搜索索引)依赖于定时任务。添加如下 crontab:
crontab -e
添加:
*/5 * * * * docker exec -u www-data nextcloud php -f /var/www/html/updater/updater.phar
6.2 安装 OnlyOffice 实现在线文档编辑(可选)
Nextcloud 支持与 OnlyOffice 集成,实现 Word、Excel、PPT 在线编辑。
只需再添加一个服务到 docker-compose.yml
:
onlyoffice: image: onlyoffice/documentserver container_name: onlyoffice restart: always ports: - "8081:80"
然后在 Nextcloud 中安装 “OnlyOffice” 插件,配置地址为 http://yourdomain.com:8081
即可。
总结
通过本文,你已经成功实现了:
✅ 使用 9.9 元/月的 VPS 搭建私有云
✅ 使用 Docker 快速部署 Nextcloud
✅ 配置域名与 HTTPS 加密访问
✅ 可选地集成了 OnlyOffice 在线办公套件
从此告别百度网盘的限速与广告,享受真正属于自己的云存储体验!
附录:完整脚本汇总
脚本1:安装 Docker & Docker Compose
sudo apt updatesudo apt install -y docker.iosudo curl -L "https://github.com/docker/compose/releases/download/v2.23.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-composesudo chmod +x /usr/local/bin/docker-compose
脚本2:docker-compose.yml 内容
version: '3'services: nextcloud: image: nextcloud container_name: nextcloud restart: always ports: - "8080:80" volumes: - ./data:/var/www/html environment: - MYSQL_HOST=db - MYSQL_USER=nextcloud - MYSQL_PASSWORD=nextcloud - MYSQL_DATABASE=nextcloud depends_on: - db db: image: mariadb container_name: nextcloud-db restart: always volumes: - ./db:/var/lib/mysql environment: - MYSQL_ROOT_PASSWORD=root - MYSQL_USER=nextcloud - MYSQL_PASSWORD=nextcloud - MYSQL_DATABASE=nextcloud
脚本3:Nginx 配置
upstream php-handler { server 127.0.0.1:8080;}server { listen 80; server_name yourdomain.com; location / { proxy_pass http://php-handler; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; }}
如果你对自动化部署感兴趣,也可以参考我的 GitHub 项目:https://github.com/example/self-hosted-cloud(请自行替换为真实项目地址)
如有疑问欢迎留言交流,也欢迎分享给更多想要掌控自己数据的朋友!
作者:TechStacker
发布日期:2025年4月5日
版权声明:原创文章,转载请注明出处。