百度网盘限速、iCloud空间不够、OneDrive企业版太贵——在VPS上搭个Nextcloud,所有文件存在你自己的服务器上。Nextcloud不只是网盘,还能同步通讯录、日历、在线协作编辑文档,支持手机自动备份照片。
Docker一键部署Nextcloud
mkdir nextcloud && cd nextcloud
nano docker-compose.ymlversion: '3'
services:
db:
image: mariadb:10.11
restart: always
volumes:
- ./db:/var/lib/mysql
environment:
MYSQL_ROOT_PASSWORD: 强密码
MYSQL_DATABASE: nextcloud
MYSQL_USER: nextcloud
MYSQL_PASSWORD: 设个密码
nextcloud:
image: nextcloud:latest
restart: always
ports:
- "8080:80"
volumes:
- ./data:/var/www/html
environment:
MYSQL_HOST: db
MYSQL_DATABASE: nextcloud
MYSQL_USER: nextcloud
MYSQL_PASSWORD: 和上面一样
depends_on:
- dbdocker compose up -d
# 访问 http://VPS_IP:8080 创建管理员账号Nextcloud初始化时选择MariaDB作为数据库——不要用默认SQLite,数据多了之后SQLite撑不住。数据库信息:主机名填db(docker-compose里定义的服务名)、数据库名nextcloud、用户名密码和上面设的一致。
雨云VPS跑Nextcloud建议至少2核2G——Nextcloud本身不重但PHP+MariaDB+文件预览会吃内存。优惠码 admin01 首月五折。硬盘空间按需来,如果只是同步文档和照片,20GB起步;如果要当主力网盘替代百度网盘,50GB以上。
配置HTTPS和域名
apt install nginx certbot python3-certbot-nginx -y
nano /etc/nginx/sites-available/nextcloud
# 配置
server {
listen 80;
server_name cloud.你的域名.com;
client_max_body_size 10G;
location / {
proxy_pass http://127.0.0.1:8080;
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;
}
}
ln -s /etc/nginx/sites-available/nextcloud /etc/nginx/sites-enabled/
nginx -t && systemctl reload nginx
certbot --nginx -d cloud.你的域名.com手机端自动备份照片
Nextcloud的iOS/Android客户端都支持自动上传手机照片——打开APP→设置→自动上传→选”仅WiFi”或”WiFi和移动数据”→照片自动备份到服务器。这个功能单这一个就值回VPS月费——iCloud 200GB每月21元、Google One 100GB每月15元。自建Nextcloud存储成本取决于VPS硬盘大小,自己控制。
Nextcloud能做什么
| 功能 | 哪来的 | 说明 |
|---|---|---|
| 文件同步和分享 | 内置 | 和百度网盘一样,支持分享链接、密码、有效期 |
| 在线文档编辑 | 装Nextcloud Office插件 | 浏览器里直接编辑Word/Excel/PPT,协作编辑 |
| 日历和联系人同步 | 内置 | CalDAV/CardDAV,手机日历和通讯录同步到服务器 |
| 相册 | 内置 | 自动备份手机照片,按日期/地点浏览 |
| 视频通话 | 装Talk插件 | 类似Zoom,但服务器在你手里 |
| 密码管理 | 装Passwords插件 | 团队共享密码,浏览器自动填充 |
备份和容灾
自建云盘最大的风险不是不好用,是数据丢了没地方恢复。Nextcloud数据分两部分:数据库(./db目录)和文件(./data目录)。备份脚本:
cd /path/to/nextcloud
docker compose exec db mysqldump -u nextcloud -p密码 nextcloud > backup_db.sql
tar -czf nextcloud-backup-$(date +%Y%m%d).tar.gz data/ backup_db.sql
# 传到COS或另一台VPS再加VPS快照当二次保险——VPS控制台每周自动快照整盘。
常见问题
Nextcloud上传文件速度慢?
PHP默认上传限制2MB,改三个地方:docker-compose.yml加PHP_UPLOAD_LIMIT=10G;Nginx设client_max_body_size 10G;Nextcloud后台→设置→系统→调整文件大小限制。三个缺一不可。
Nextcloud占用多少存储?
Nextcloud本身约500MB。存储占用=你的文件+缩略图+数据库。实际可用空间=VPS硬盘-5GB。文件多了数据库也会变大——10万张照片元数据约1GB数据库空间。
和Syncthing有什么区别?
Syncthing是点对点文件同步,没有Web界面、不能在线浏览文件。Nextcloud是有完整Web界面的云盘平台——在线看照片、编辑文档、分享链接给别人。Syncthing适合设备间同步,Nextcloud适合取代网盘。






