Linux服务器打造一个简单的文件共享系统
在Linux系统下如何分享文件呢?你可能会想到用scp、rsync此类的命令,但都需要给出服务器密码,不安全。或者搭建一个ftp、nfs或samba的服务,分配个账号或划分个权限给其它人共享文件的权利,不得不说,也是一种方法,但很麻烦。快速共享这还不够!
使用Python命令
使用一条命令就可以把当前文件夹下的内容通过网页的形式共享给他人,一般Linux系统下都会内置有python2解释器。
# python2
# 最后一个数字是你要启用的端口号
python -m SimpleHTTPServer 80
然后使用网页访问,地址为服务器http://ip:端口的形式,就可以在执行命令的那个目录下把文件共享出来了。在网页里你就可能随意的下载了,当然也可以把地址发给他人访问,达到文件共享的目的。
如果你的python3,则使用下面的命令,效果和上面python2的命令是一样的。
# python3
# 最后一个数字是你要启用的端口号
python -m http.server 80
h5ai
上面的Python命令适用于简单的文件共享,比如局域网环境下快速地把文件传递给其它平台。由于是简单的系统,并不适合于长久访问,甚至界面也不美观。
推荐使用h5ai平台来搭建一个文件展示页,使用以下命令部署,需要提前安装好docker环境。
# 创建一个存放数据的文件夹
mkdir -p /opt/docker/h5ai
# 开始搭建
docker run -d -p 5555:80 -v /opt/docker/h5ai:/h5ai --name h5ai ilemonrain/h5ai:full
最后需要防火墙放行5555端口。同样的方式,使用http://ip:5555来访问,如下图所示。
用这个软件的话,可以清晰的展示文件夹和文件结构,同时可以显示缩略图,如果你的带宽足够,还可以直接播放文件文件中的音视频。
当然这款系统是非常轻量化的,不带登录界面,以文件分享为目的。如果想进一步保护隐私,可配置Nginx服务为网页加上密码并配置ssl加密。如果到了这种程度,还是上网盘系统吧,毕竟更专业。
最后说一句,搭配上一篇的bt下载功能,尤其好使!