用云服务器搭建 Nextcloud,告别网盘限速和隐私泄露

用云服务器搭建 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 安装向导:

  1. 设置管理员用户名和密码
  2. 数据目录默认 /var/www/nextcloud/data(建议改到更大的挂载盘)
  3. 数据库选 MySQL,填入之前创建的数据库信息
  4. 点击「安装完成」

等待几分钟初始化完成,即可进入 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 搭建过程比较复杂,但搭完之后维护成本很低。对于在意数据隐私、经常在多台设备之间同步文件的用户来说,自建网盘是目前最好的解决方案之一。

相关推荐
在角落发呆1 小时前
Linux转发配置:解锁网络互联的核心密码
linux·运维·网络
裴东青2 小时前
10-实战:RuoYi-Cloud的自动化发布
运维·ci/cd·自动化
江公望2 小时前
Ubuntu htop命令,10分钟讲清楚
linux·服务器
哎呦,帅小伙哦2 小时前
Linux 时间:从原子钟到 clock_gettime 的每一面
linux·运维·服务器
sxgzzn3 小时前
新能源场站数智化转型:基于数字孪生与AI的智慧运维管理平台解析
大数据·运维·人工智能
张小姐的猫3 小时前
【Linux】多线程 —— 线程互斥
linux·运维·服务器·c++
CodeMartain3 小时前
Dify Windows 原生部署(无 Docker、纯本地)
运维·docker·容器
xxx1x1x3 小时前
极客向:DLL/运行库故障的底层逻辑与自动化修复方案
运维·自动化·dll文件·dll·dll修复·dll缺失·dll一键修复
YuanDaima20483 小时前
Linux 进阶运维与 AI 环境实战:进程管理、网络排错与 GPU 监控
linux·运维·服务器·网络·人工智能
lolo大魔王5 小时前
Linux 数据文件处理实战:排序、搜索、压缩、归档一站式详解
linux·运维·服务器