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

相关推荐
凯丨13 分钟前
MCP Server 教程:从零构建一个自定义工具服务器(2026 最新)
运维·服务器
极客先躯14 分钟前
高级java每日一道面试题-2026年02月08日-实战篇[Docker]-如何实现容器的快照和恢复?
java·运维·docker·容器·备份·持久化·恢复
AI服务老曹18 分钟前
打破品牌壁垒:基于 Docker 的国标 GB28181 与 RTSP 异构视频流统一接入平台架构设计(可源码交付)
运维·docker·容器
xhtdj27 分钟前
技术采用曲线回望二十年
运维·数据库·人工智能·clickhouse·动态规划
SuperArc199928 分钟前
Grafana相关数据可视化平台基础教程-序言
运维·信息可视化·数据分析·grafana
r-t-H32 分钟前
Docker进阶与容器编排实践-第二章
运维·docker·容器·dockerfile·docker compose·docker网络
爱装代码的小瓶子37 分钟前
muduo库 --socket的封装
服务器·开发语言·php
爱喝水的鱼丶42 分钟前
SAP-ABAP:SAP多表连接视图实战:内连接/外连接配置逻辑与性能优化技巧
运维·开发语言·学习·性能优化·sap·abap
cgsthtm43 分钟前
Jenkins添加用户和角色并分配相应Job权限
运维·jenkins·jenkins用户·jenkins角色·jenkins权限·jenkins job
mnasd1 小时前
Gitlab + Jenkins 实现 CICD
运维·gitlab·jenkins