当前位置:首页 > 技术文章 > 正文内容

Linux服务器打造一个简单的文件共享系统

arlanguage3个月前 (02-01)技术文章28

在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下载功能,尤其好使!

把Linux服务器做成一个下载器,实现远程下载

扫描二维码推送至手机访问。

版权声明:本文由AR编程网发布,如需转载请注明出处。

本文链接:http://www.arlanguage.com/post/2128.html

标签: nginx 网盘
分享给朋友:

“Linux服务器打造一个简单的文件共享系统” 的相关文章

Nginx 路径匹配规则

Nginx路径匹配符号= 表示精确匹配^~ 表示uri以某个常规字符串开头,大多情况下用来匹配url路径,nginx不对url做编码,因此请求为/static/20%/aa,可以被规则^~ /static/ /aa匹配到(注意是空格)。~ 正则匹配(区分大小写)~* 正则匹配(不区分大小写)!~ 区...

CentOS安装nginx

安装nginx第一步,查看是否安装,没有我们就开始安装:rpm -qa| grep nginx第二步,安装依赖包。(1)gcc安装。由于nginx是c语言写的,因此在安装nginx前需要先将官网下载的源码进行编译,编译依赖gcc环境,如果没有gcc环境,则需要安装:yum install gcc-c...

Linux中内网或者没网时安装软件的两种方式

写在前面对于可以连接外网的服务器装软件,只要配置yum源就可以随便使用了但是对于内网来说,不能连接外网,一般情况下,管控平台只有上传的权限。尤其是一些涉密的岗位,比如电力,电信,军工之类的。今天和小伙伴聊聊内网服务器如何安装软件的问题。可事实是,唯恐暴露才华不足的卑怯的畏惧,和厌恶钻研刻苦的惰怠,就...

轻松搭建基于 Serverless 的 ThinkPHP 应用

ThinkPHP 是什么?ThinkPHP 是一个免费开源的,快速、简单的面向对象的轻量级 PHP 开发框架,是为了敏捷 WEB 应用开发和简化企业应用开发而诞生的。ThinkPHP 从诞生以来一直秉承简洁实用的设计原则,在保持出色的性能和至简代码的同时,更注重易用性。遵循 Apache2 开源许可...

nginx 解决 readv() failed (104: Connection reset by peer)

查看nginx error错误,发现上传接口报以下错:2019/10/10 19:58:25 [error] 299784#0: *5967188 readv() failed (104: Connection reset by peer) while reading upstream, clien...

Java学习路线总结

本文整理了java开发的学习路线和相关的学习资源,非常适合零基础入门java的同学,希望大家在学习的时候,能够节省时间。良心推荐!第一阶段:Java基础重点知识点:数据类型、核心语法、面向对象、数组、集合、IO流、String/StringBuffer/StringBuilder、线程、并发、反射、...