在当今多设备协同工作的常态下,跨设备进行文本、文件的传输的确是一个高频需求。我们常常会遇到这样的窘境:只是想将手机上的一段文字、一张图片,或者电脑上的一份文档发送到另一台设备上,却不得不打开某个臃肿的社交软件,经历扫码、登陆、找到“文件传输助手”等一系列繁琐的操作。这不仅打断了我们流畅的工作节奏,也可能引发对数据隐私的担忧。

为了解决这一痛点,在自己的 Linux 服务器上部署一个轻量级的 Web 文件传输服务,无疑是一种极其高效且优雅的解决方案。这种方式将文件传输的主动权完全掌握在自己手中,带来了诸多优势。项目的原地址如下:

https://github.com/vastsa/FileCodeBox/tree/master

由于serv00是免费的虚拟主机,其在使用过程中存在许多约束,例如,只有部分端口是可以使用的,有些端口被其他人捷足先登,而本项目默认的部署端口是12345,一般情况下该TCP端口都是被占用的情况,因此需要做出修改,首先在serv00的后台下添加一个serv00端口(选择TCP协议):

记录下此时选择的端口,随后使用SSH登陆连接到serv00的主机,在SSH终端下先进行项目源代码的克隆和依赖的安装:

git clone https://github.com/vastsa/FileCodeBox.git
cd FileCodeBox
pip install -r requirements.txt

在部署完成后会出现各种各样的警告,直接无视即可,这些警告大多与版本兼容性或可选特性有关,通常可以安全忽略,并不会影响项目的核心功能和最终使用。实测对最后的使用没有任何影响。

接着由于端口不开放的原因,因此需要将源代码中有关端口的配置进行修改,打开设置.py:

cd apps
nano settings.py

settings.py中有一项是PORT:12345 ,将12345修改为之前放行的TCP端口,按下CTRL+X ,随后按下Y和回车(enter)进行保存。

随后返回原来的总目录下,并进行pm2保活的安装,具体操作如下:

cd ..
npm install pm2

注意不要使用npm install pm2 -g ,因为serv00的免费主机在一定层面上拒绝了此全局变量的修改,因此选择了本路径下的npm安装pm2,随后调用node进行pm2对main.py脚本的保活控制:

node ./node_modules/pm2/bin/pm2 start main.py --name filecodebox --interpreter python

随后便会出现如下的提示,说明部署成功。

停止服务:此命令会停止名为 filecodebox 的应用,但它仍然会保留在 PM2 的进程列表中,方便之后重启。

node ./node_modules/pm2/bin/pm2 stop filecodebox

重启服务:此命令会重新启动名为 filecodebox 的应用。

node ./node_modules/pm2/bin/pm2 restart filecodebox

查看日志:此命令会实时显示 filecodebox 应用的日志输出,包括标准输出(console.log)和错误输出(console.error)。按 Ctrl + C 可以退出日志查看。

node ./node_modules/pm2/bin/pm2 logs filecodebox

随后便可以通过浏览器访问ip+端口的形式进行访问。

其中该项目配备的管理员系统是/#/admin,默认管理员密码是FileCodeBox2023

可以在管理员系统中对该web应用的各个参数进行配置,最终达到文件传输和文件加密的目的。

至此,便已经成功地在 Serv00 这类有特定限制的免费主机上,完整地部署并启动了一个属于您自己的、安全私密的网络文件中转站。不仅解决了最关键的端口占用问题,还利用 PM2 保证了服务的后台稳定运行,实现了“一次部署,长期使用”的便捷效果。

现在,您随时可以通过浏览器访问您的专属地址,彻底告别传统软件在跨设备文件传输上的种种不便。无论是代码片段、临时文本,还是重要的工作文档,都能在这个由您完全掌控的个人空间中实现即时、无缝的流转。

希望这篇指南能帮助您成功搭建服务,享受这份开源项目带来的自由与高效!