用云服务器搭建 Nextcloud,告别网盘限速和隐私泄露
国内网盘限速、隐私风险、空间不够这几个老问题,相信很多人都深有体会。自建 Nextcloud 可以一次性解决------存储空间自己控制,数据不经过第三方,访问速度取决于你的服务器带宽。
本文记录完整的 Nextcloud 搭建过程,包括 LNMP 环境配置和 HTTPS 证书申请。
一、服务器准备
Nextcloud 推荐配置:
- CPU:2 核以上
- 内存:2GB 以上(4GB 更流畅)
- 硬盘:根据存储需求来,建议 40GB 起步
- 带宽:家用日常用 3-5Mbps 够,多人协作建议 10Mbps 以上
系统:Ubuntu 22.04 LTS
我用的是 雨云服务器 rainyun+com ,支持灵活扩容,初期先买个小配置,等数据多了再升级存储,不用一次性花很多钱。注册时输入优惠码 2026off 还能领一张5折券
还需要一个已备案的域名,用于申请 SSL 证书。
二、安装 LEMP 环境
Nextcloud 需要 Linux + Nginx + MySQL + PHP 的组合。
1. 更新系统并安装 Nginx
bash
sudo apt update && sudo apt upgrade -y
sudo apt install -y nginx
sudo systemctl enable nginx && sudo systemctl start nginx
2. 安装 MySQL
bash
sudo apt install -y mysql-server
sudo mysql_secure_installation
按提示设置 root 密码,其余选项全部选 Y。
3. 创建 Nextcloud 数据库
bash
sudo mysql -u root -p
sql
CREATE DATABASE nextcloud CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
CREATE USER 'ncuser'@'localhost' IDENTIFIED BY '你的密码';
GRANT ALL PRIVILEGES ON nextcloud.* TO 'ncuser'@'localhost';
FLUSH PRIVILEGES;
EXIT;
4. 安装 PHP 8.1
bash
sudo apt install -y php8.1 php8.1-fpm php8.1-mysql php8.1-xml \
php8.1-zip php8.1-mbstring php8.1-curl php8.1-gd php8.1-intl \
php8.1-bcmath php8.1-imagick php8.1-redis
调整 PHP 配置:
bash
sudo nano /etc/php/8.1/fpm/php.ini
修改以下参数(适合个人使用):
ini
memory_limit = 512M
upload_max_filesize = 1G
post_max_size = 1G
max_execution_time = 3600
重启 PHP-FPM:
bash
sudo systemctl restart php8.1-fpm
三、下载并配置 Nextcloud
1. 下载最新版
bash
cd /var/www
sudo wget https://download.nextcloud.com/server/releases/latest.zip
sudo unzip latest.zip
sudo rm latest.zip
sudo chown -R www-data:www-data /var/www/nextcloud
2. 配置 Nginx 虚拟主机
bash
sudo nano /etc/nginx/sites-available/nextcloud
nginx
server {
listen 80;
server_name your-domain.com;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl http2;
server_name your-domain.com;
ssl_certificate /etc/letsencrypt/live/your-domain.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/your-domain.com/privkey.pem;
root /var/www/nextcloud;
index index.php;
client_max_body_size 1G;
fastcgi_buffers 64 4K;
location / {
try_files $uri $uri/ /index.php$request_uri;
}
location ~ \.php$ {
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_pass unix:/run/php/php8.1-fpm.sock;
}
location ~ ^\/(?:build|tests|config|lib|3rdparty|templates|data)\/ {
deny all;
}
add_header Strict-Transport-Security "max-age=15768000" always;
}
启用配置:
bash
sudo ln -s /etc/nginx/sites-available/nextcloud /etc/nginx/sites-enabled/
sudo nginx -t && sudo systemctl reload nginx
四、申请 SSL 证书
bash
sudo apt install -y certbot python3-certbot-nginx
sudo certbot --nginx -d your-domain.com
按提示操作,Certbot 会自动修改 Nginx 配置并写入证书路径。
证书有效期 90 天,Certbot 会自动续期:
bash
# 测试自动续期
sudo certbot renew --dry-run
五、完成安装
浏览器访问 https://your-domain.com,会看到 Nextcloud 安装向导:
- 设置管理员用户名和密码
- 数据目录默认
/var/www/nextcloud/data(建议改到更大的挂载盘) - 数据库选 MySQL,填入之前创建的数据库信息
- 点击「安装完成」
等待几分钟初始化完成,即可进入 Nextcloud 主界面。
六、实用配置
安装客户端同步
Nextcloud 提供 Windows、macOS、iOS、Android 全平台客户端,在官网下载后连接你的服务器地址即可。本地文件夹会自动双向同步,体验类似百度网盘客户端,但数据完全在你自己手里。
安装扩展应用
Nextcloud 有丰富的应用生态,在「应用」页面可以一键安装:
- Collabora/OnlyOffice:在线编辑 Word、Excel
- Talk:内网即时通讯
- Calendar / Contacts:日历和联系人同步
- Notes:Markdown 笔记
开启 Redis 缓存
bash
sudo apt install -y redis-server
在 Nextcloud 配置文件 /var/www/nextcloud/config/config.php 中添加:
php
'memcache.local' => '\OC\Memcache\Redis',
'redis' => [
'host' => 'localhost',
'port' => 6379,
],
七、费用参考
以存储 500GB 文件为例:
| 方案 | 费用 |
|---|---|
| 百度网盘超级会员(2TB) | 约 298 元/年 |
| 阿里云盘会员(无限速) | 约 168 元/年 |
| 自建 Nextcloud(2核4G + 500G存储) | 约 200-400 元/年 |
自建方案成本相近,但数据完全自控,且存储上限由你说了算。
总结
Nextcloud 搭建过程比较复杂,但搭完之后维护成本很低。对于在意数据隐私、经常在多台设备之间同步文件的用户来说,自建网盘是目前最好的解决方案之一。