
上一篇我们用旧手机来部署了一个博客站手机上如何部署一个博客站
本篇来介绍旧手机的另一种玩法:
打造个人私有云盘
只需要花5分钟了解本篇,就能轻松让你认识如何用旧手机打造一个个人私有云盘。我在旧手机上打造好的私有云盘长这样,在本地局域网就可以方便快捷地存储你自己的图片、视频、文档,真的很香!!!


接下来分3步来介绍如何在手机上部署一个私有云盘?:
第一步:安装基本环境第二步:前端和后端编译部署第三步:运行项目
第一步:安装基础环境
我给大家在github上找了比较方便使用的开源云盘系统:
# 开源云盘项目
https://github.com/cloudreve/Cloudreve

但是大家都知道,光是找到项目还不足以解决问题,我在运行部署的过程中,也遇到不少头疼的问题,解决了各种问题后,最后才跑起来,大家可以跟着下面的步骤来走一遍,如果发现新的问题,也欢迎多多交流。
这个系统的后端采用golang语言开发,前端采用的是react框架,需要nodejs环境的支持,因此我们先来安装环境。

# 在termux上安装
# 安装GO语言环境
pkg install golang
# 验证go版本
go version
# 安装nodejs环境
pkg install nodejs
# 验证node版本
npm -v
node -v
# 安装nodejs的编译打包工具
pkg install yarn
# 验证打包工具版本
yarn -v
第二步: 前后端编译部署
环境安装完成后,我们就来部署项目, 部署主要分两大块,前端模块和后端模块,我们先来下载这个项目
# 下载项目
git clone --recurse-submodules https://github.com/cloudreve/Cloudreve.git
前端模块按照这个步骤操作即可:

在前端模块编译的过程中,遇到了一大堆问题,比如在执行 “yarn run build”的时候,就会遇到如下的问题:
这个还比较容易解决,只要按照提示安装下面的更新即可
# 解决编译问题
npx browserlist@latest --update-db
安装成功了,我们重新运行yarn run build
但是不幸的是在手机上进行这个步骤的时候,任你尝试多少次,始终抛出这个问题:

提示是javascript堆内存分配失败的问题;
很多小伙伴可能跟我一样,到这里就快要放弃了,但还是死马当活马医,我开始采用分步走的策略,在PC端去编译前端代码,然后将编译好的代码放到手机端去部署,因为大家都知道Javascript是解释型语言,只要在浏览器就能运行,所以PC端还是移动端应该影响不大。
在PC端编译的过程也比较简单,先在PC端安装nodejs环境,关于这一点,根据你是window系统也好,linux或者mac系统也好,网络上的知识已经到处都是,小伙伴们可以搜索自行解决;也可以参考我之前整理的这一篇中关于环境安装的推荐:如何构建一个最简单的React应用
跟前面的步骤一样,安装完nodejs环境后,依旧进入assets前端目录,然后进行以下的操作:

这时候我们再去执行yarn run build操作的时候,就能成功了。


在PC端编译完成后,assets目录下会出现一个build目录,然后只要将这个build目录压缩后,用scp命令远程传到手机上:

# 在电脑上j进行操作
# 压缩
tar czvf build.tar.gz build
# 传文件到手机
scp -P 8022 build.tar.gz u0_a324@192.168.1.103:/data/data/com.termux/files/home/nas/cloud-pan-test/
传到手机上后,我们在手机上将这个目录解压缩,然后覆盖掉assets目录下的build目录即可,前端的部署过程就好
# 在termux上进行操作
# 解压缩build目录
tar zxvf build.tar.gz
# 移动目录
mv -v build assets/
到这里,前端已经部署完成了,如果你已经走到了这里,再坚持一下吧,胜利的曙光已经在向你招手??♂️。
后端模块按照这个步骤操作即可:


编译成功后的后端文件就是这个:
第三步:启动项目
项目部署成功,我们已经迫不及待想访问下自己的私有云盘服务了。启动手机上的云盘服务,只需一个命令行即可:
# 启动后端服务
./cloudreve
第一次启动会有默认的用户名密码:

但真的是好事多磨,就在最后一公里的时候,又遇到了一个问题,提示我们文件不存在 ?:

虽然后端已经启动成功了 ,但这里Warning级别的报错还是让我们无法访问前端系统了,所以我给小伙伴们提供了一个解决方案,直接下载这个包即可:
https://g5yrinfu0k.feishu.cn/file/boxcnirzz7aWEGfHDrJ5D9Z3rLb

下载后,将这个包放到手机上云盘项目的根目录,然后解压缩即可:

最后我们再来启动项目:./cloudreve , 可以看到启动成功了。
可以愉快地玩耍了,在电脑上来访问我们的手机云盘,可以上传文件、视频、图片,新建文件夹等。

细心的小伙伴可能也发现这里的存储是1G,因为这是后端golang程序默认设置的大小。

作为程序员,不可能让这个限制了想象力,我通过重新修改后端程序,直接修改成了2个T,也就是2048G,甚至可以更大,完全取决于你的手机的存储大小,你们也可以尝试一下。


思考
一台旧手机改造云盘你已经会了吧 ?
试想一下,如果把所有全世界所有的旧手机都拼在一起,它的存储究竟有多大?
如果我们还能外接移动硬盘呢?
2022-08-21 22:42 发表于上海
阅读原文