logo头像
Snippet 博客主题

局域网文件共享与下载服务新姿势

本文于508天之前发表,文中内容可能已经过时

在平常生活或工作中,我们经常需要传输文件,比如将电脑上下载的App传送到手机或另一台PC上、同事之间传输一些大型的文件。当我们遇到此类问题时,首先想到的就是使用QQ或者微信,更深一层,去网上搜索一些文件传输工具,如Send Anywhere,LZ当时在大学时候经常使用的是FTP、Samba服务。但是这些第三方要么都显得太麻烦(如下图),要么就是不安全,安全隐患主要在数据传输安全以及数据备份上体现,我们都需要将文件传输到第三方服务器上,再通过需要接收数据的电脑或手机进行下载。

那么,有没有办法直接获取文件,而不通过这些繁琐的操作?在这里呢,LZ给大家推荐几种常见的文件共享方法。

麻烦的交互

文件共享下载新姿势

最方便的Windows文件共享

LZ本人一年多没用过Windows电脑了,现在公司配置的是Mac Pro,家用的Lenovo Y430P已被改装为Deepin Linux,由于现在日常生活、工作都是在非Windows操作,所以这里就不演示了,等有机会会把详细教程列到这里。

Windows文件共享

最简单的Python命令共享

大家都知道Python2与Python3不兼容,一般Linux和Mac OS X默认集成Python2,因为这些系统一些应用工具是Python2开发的,所以系统只能默认Python2。

  1. Python2的操作姿势

    1
    2
    3
    4
    Yeamin:book mac$ echo litong
    litong
    Yeamin:book mac$ python -m SimpleHTTPServer 8900
    Serving HTTP on 0.0.0.0 port 8900 ...
  2. Python3的操作姿势

    1
    2
    Yeamin:work mac$ python3 -m http.server 8900
    Serving HTTP on 0.0.0.0 port 8900 (http://0.0.0.0:8900/) ...

​ 我在我的Mac或Linux终端执行简单的上述任意两个命令后,启动一个HTTP服务器,打开浏览器输入http://127.0.0.1:8900或http://localhost:8900 后回出现下图文件共享的列表,若其他人想下载可以将局域网IP和端口号告知其他人即可下载。在这不仅仅可以下载,也可以预览常见文件,比如音频、视频、图片、PDF、文本文件。

共享列表预览

最专业的Nginx服务共享

大家都知道单台的Nginx Web服务器并发性能较强,一般基本都是文件多并发大的情况下才用,企业里一般做路由转发、负载均衡、资源静态化,路由转发是为了对外统一暴露一个地址,负载均衡是根据某种算法(IP_HASH绑定策略、轮询策略、权重)将不同的请求分散到多台业务相同的机器上,资源静态化这个很常见,以前项目太大,会将JS/CSS单独分离,使得应用系统前端组件加载更快。

  • 下载Nginx

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    litong@LT:/media/litong/软件/programs/tools$ wget -c http://nginx.org/download/nginx-1.15.10.tar.gz
    --2019-03-31 14:03:53-- http://nginx.org/download/nginx-1.15.10.tar.gz
    正在解析主机 nginx.org (nginx.org)... 62.210.92.35, 95.211.80.227, 2001:1af8:4060:a004:21::e3
    正在连接 nginx.org (nginx.org)|62.210.92.35|:80... 已连接。
    已发出 HTTP 请求,正在等待回应... 200 OK
    长度:1032228 (1008K) [application/octet-stream]
    正在保存至: “nginx-1.15.10.tar.gz”

    nginx-1.15.10.tar.gz 100%[===============================>] 1008K 13.4KB/s 用时 55s

    2019-03-31 14:04:48 (18.4 KB/s) - 已保存 “nginx-1.15.10.tar.gz” [1032228/1032228])
  • 解压Nginx

  • 1
    tar -zxvf nginx-1.15.10.tar.gz
  • 编译Nginx

    1
    cd nginx-1.15.10/
  • 1
    ./configure
    1
    make
  • 1
    sudo make install
  • 启动Nginx

  • 1
    2
    cd /usr/local/nginx/sbin
    ./nginx

    启动成功后,输入localhost:80,看是否启动成功进入到index.html,如下图:

    Nginx启动首页

  • 查看启动进程

    如果懒得打开浏览器,直接看进程确认nginx是否启动

    1
    2
    litong@LT:usr/local/nginx/sbin$ ps -ef | grep nginx
    root 7017 1 0 11:07 ? 00:00:00 nginx: master process ./nginx
  • 重载Nginx

    修改Nginx的配置文件nginx.conf,并进行重载配置:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    listen       80;        #端口  
    server_name localhost; #服务名
    charset utf-8; # 避免中文乱码
    root /home/litong/Pictures; #显示的根索引目录,注意这里要改成你自己的,目录要存在

    location / {
    autoindex on; #开启索引功能
    autoindex_exact_size off; # 关闭计算文件确切大小(单位bytes),只显示大概大小(单位kb、mb、gb)
    autoindex_localtime on; # 显示本机时间而非 GMT 时间
    }
    1
    ./nginx -s reload

    在浏览器端输入localhost:80, 则出现如下界面:

    Nginx共享列表预览

不同终端效果欣赏

[Python共享]Mac Pro / Mac OS X 10.14.1 Mojave

视频预览

图片预览

文本预览

PDF预览

[Nginx共享]Lenovo Y430P/ Deepin Linux Nginx图片预览

[Python共享]XiaoMi 5X/ Android-MIUI10

手机视频预览

[Windows共享]Lenovo ThinkPad T410/Microsoft Windows 10 家庭版

Windows后续再体验,未完待续。。。

支付宝打赏 微信打赏

请作者喝杯咖啡吧