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

相关推荐
D2aZXN3FhrDa7e2121 小时前
佛山乐从低预算实体店如何选择?看美诚AI自动化获客方案
运维·人工智能·自动化·佛山美诚科技有限公司
无足鸟ICT2 小时前
【RHCA+】查看变量
linux·运维·服务器
Kina_C2 小时前
Linux DNS 服务器-从高速缓存到辅助 DNS 部署指南
linux·运维·服务器·dns
EasyGBS2 小时前
ONVIF设备接入国标GB28181视频平台EasyGBS:不用国标也能一键拉流!
服务器·php·音视频
suaizai_2 小时前
TypeScript 7 正式发布!Vue 暂被 “拒之门外“ !!!
linux·运维·ubuntu
小小代码狗3 小时前
SQLi-Labs 基础注入实战教程(Less-1 ~ Less-5and Less-9)
服务器·python·php
慕伏白3 小时前
【慕伏白】Linux 系统如何根据端口号关闭进程
linux·运维·服务器
letisgo53 小时前
VMware Workstation + Ubuntu 26.04 LTS 小白运维部署手册
linux·运维·ubuntu
蓝创工坊Blue Foundry3 小时前
图片文字提取到 Excel:批量任务如何先定义要交付的字段
运维·服务器·开发语言·数据库·自动化·ocr·excel
晚风吹长发3 小时前
Docker使用——Docker容器及相关命令
linux·运维·服务器·docker·容器·架构