VPS    微软    Win10    苹果    Office2016

轻松把文件夹变成网站!使用 Caddy 服务器软件自己搭建网页形式的文件共享

 网络软件    , ,    2016-10-27
轻松把文件夹变成网站!使用 Caddy 服务器软件自己搭建网页形式的文件共享

随着网盘陆续的关闭,各种承诺的破灭,让很多人开始重新考虑将重要文件搬回到自己的电脑上了。不过,保存在个人电脑上的文件想要分享始终不是很便利。

今天我们介绍的是一种另类的网页式文件共享方式,使用 Caddy 服务器软件!轻松将自己的电脑变成服务器,搭建一个属于自己的“网站”,从而将文件夹以网页的形式共享出去,让局域网甚至互联网上的其他电脑、手机、平板设备均能通过浏览器轻松访问和下载它们……

什么是 Caddy?

Caddy 实际上是一款免费开源的 WEB 服务器软件,可以让用户非常简单地在电脑上搭建出一个网站。它的特点是配置简单,入门容易,稍微研究下即能将自己的文件部署到局域网或互联网上,共享给其他设备通过浏览器进行访问。

Caddy

虽说看起来 Caddy 似乎很高端的样子 (至少搭建网站服务器什么的对非专业人士确实有点难度),但是 Caddy 本身是一个以「易用」为目标而开发的软件,使用它仅仅需要通过编写简单的“配置文件”即可,比起那些要用脚本和专业知识才能玩得转的服务器程序,Caddy 的门槛是大大降低了。对于想尝试自己搭建网页服务器而又没有太多基础的朋友应该说是很具有可玩性的

Caddy 的功能和模块很多,在这篇文章里我们主要介绍利用 Caddy 内置的文件管理器模块,实现方便的互联网/局域网文件共享功能,其他的各种更加“专业”的服务器功能和玩法就留待大家自己去研究了。

为了方便读者“入门”,下面我们先介绍一下它的基本使用, 关于“文件管理器模块”的介绍在放在后半段。Caddy 本身支持 macOSLinux 系统,但本文主要介绍在 Windows 系统下的用法。

Caddy 基本使用 - 搭建基础网站

1. Caddy 的使用非常简单,首先下载 Caddy 软件(下载时需要选择你想要安装的模块,看“注意2”,本文主要介绍它的 filemanager 模块),并解压到任意目录下。

下载 Caddy

2. 进入到此文件夹内,在此根目录新建一个“index.html” (首页) 文件,用记事本编辑,输入任何内容如 “Hello Caddy!” 并保存。

Caddy 首页文件

3. 接着双击 Caddy 程序启动,此时在本机的游览器中输入 “localhost:2015” 即可看到 “index.html” 文件中的内容。

浏览器

注意 1:因为 index.html 文件是网页的首页,Caddy 会自动识别,如果文件名改成 “another.html”,就必须输入 “localhost:2015/another.html” 才能看到了。

注意 2:如果之后要使用 “filemanager 文件管理器” 等模块,那么在下载的时候必须要手动勾选对应的模块,默认只勾选了核心模块。

把网址设置为电脑的局域网 IP

上面用 localhost 作为地址可以让本机访问,而如果你希望这个“网站”可以让局域网甚至是互联网上的其他设备访问,那么就需要为其设置正确的网址域名或 IP 地址了。为简单起见,我们本教程只以「局域网访问」为例子,如果你需要互联网访问,还得自行去了解 DDNS 动态域名 (比如花生壳)、路由器的端口映射设置等概念。

设置正确的 IP 地址或域名是实现局域网文件共享的前提。本操作分为两步:

  1. 首先要获得你的电脑在局域网内的 IP。
  2. 将这个 IP 地址写入 Caddy 的特定配置文件里。

Windows 系统下获取本机的局域网 IP 地址的方式为在命令行界面输入“ipconfig”命令并回车。一般都是类似“192.168.X.XXX”的形式。值得注意的是,大多数路由器默认情况下都是通过 DHCP 动态给设备分配 IP 地址的,每次路由器重启后,你的电脑 IP 地址可能都会变,因此最好在路由器的设置界面为电脑设置固定的 IP。

在 Caddy 目录下新建一个名为 “Caddyfile” 的配置文件(没有扩展名),用记事本打开,在里面输入你的电脑的局域网 IP 地址(或者域名)+英文冒号+端口号。重启 Caddy 程序后就能用任意局域网内的其他设备访问这个地址了。这也为我们的“局域网内共享文件”做好了准备。

Caddy 配置Caddyfile 的示例如图(冒号后面的2016为端口号,默认为2015,你也改成3456之类的)

如果需要通过互联网访问,那么这里的 IP 就要修改成你的公网 IP 或者动态域名了。我这里还是以局域网为例子,对于的网址是 192.168.0.105:2016,从连着家里 WiFi 的手机上访问的结果如下:

手机访问

接下来是我们的重点:从局域网内共享内容(文字,图片 等)

我们在下载安装 Caddy 时已经选择了「文件管理」模块 “filemanager”,只需要在之前提到的 “Caddyfile” 中写入正确的配置,即可使用 Caddy 内置的文件管理器在局域网或互联网上共享文件。

192.168.0.105:2016
filemanager /file {
show allow_new allow_edit
./file true true
}

比如像上面的配置代码(show 参数用来设置文件在电脑上对应的路径, allow_new、allow_edit 表示允许新建和修改),而 ./file 是文件夹的路径,你可以修改成其他路径。更多的配置说明,可以参考文档

在 Caddy 目录下新建一个“file”文件夹,在里面放入一些文件,再次重启 Caddy。

Caddy 文件管理器

电脑端查看:

手机端查看:

手机端修改文本文件:

结语

因为 Caddy 的 “文件管理器” 内建支持新建文件和修改(修改应该只支持纯文本格式),以及文件的下载和上传,相比常见的服务器软件比如 Nginx、Apache 等更能满足一般用户的文件共享需求,比如:

  • 在电脑端放入一个“.apk”文件,即可在 Android 设备下载并安装。
  • 在手机端黏贴一段文本到一个文本文件中,即可在电脑端处理。
  • 在手机端上传一张图片,即可在电脑端得到这张图片。
  • 通过上传下载功能可以实现少量文件的拷贝等。

Caddy 可以在配置中设置任意的文件夹为共享文件夹,比较灵活。而且你不需要在手机端安装任何软件,只需通过游览器访问即可。缺点是功能比较单一,在丰富性上显然无法与专门的软件相比。不过在一些轻量级的使用场景,无论是自用还是与家人、同事使用还是比较方便的。

另外 Caddy 还有更多的功能,比如支持 “Markdown” 语法解析等。有兴趣的朋友可以在阅读官方文档进行了解。

相关文件下载地址:

官方网站:访问
软件性质:免费

下载 Caddy 服务器 (Win/Mac/Linux)  |  服务器相关  |  共享相关

  • 8 10
     
  • 还是Http File Server更好用

    10 10
     
  • Everything 搞定文件共享

    10 10
     
    • Everything是很简单,不过好像只能整个硬盘共享。

      6 10
       
    • everything可以通过排除列表,仅显示个别文件夹

      6 10
       
  • 这个软件可以救急…

    6 10
     
  • WARNING: descriptor limit 256 is too low for production servers. At least 8192 is recommended. Fix with “ulimit -n 8192”.
    这个参数怎么改?

    10 10
     
  • python -m http.server
    (逃

    9 10
     
  • 写入的配置后,重启闪退是什么鬼

    10 10
     
    • 我也是

      8 10
       
    • 貌似文章中的配置排版错了,去按照官网上的代码试试

      7 10
       
  • 从长期考虑还是花钱买个NAS最省事。

    6 10
     
  • 只能内网共享,不如弄黑群晖,或者架设linux服务器用samba,没有NAT穿透,不如btsync

    7 10
     
  • 作为前端开发者,表示Nodejs的http-server命令行解决一切共享需求

    8 10
     
  • 一般都是用”python3 -m http.server”直接搞定的

    9 10
     
  • 比起写代码,至少是降低了一丢丢门槛,而且有现成的界面可以用。

    10 10
     
  • 最后的文件分享代码排版错了

    6 10
     
  • 当年公司用hfs~~~

    10 10
     
  • 这就是微型的Nginx服务器吧,然后加了一些样式。更好的方案我一直认为是FTP或WebDAV这种,或者ownCloud也行。

    10 10
     
  • python -m SimpleHTTPServer…所有环境都安装python

    9 10
     
  • 写入文件配置后,重启打开闪退

    9 10
     
    • 文章中的配置文件写错了,你去官网看看。

      7 10
       
  • 这个是golang写的服务器呢

    7 10
     
  • python -m SimpleHTTPServer

    人生苦短,快用Python

    8 10
     
  • 不用备案, 就这样可以把自己的文件拿出来给全世界分享?

    10 10
     
  • 架设超大文件会崩溃。小文件就正常。

    10 10
     
  • 超好用

    10 10
     





评论内容 (*必填):
Ctrl + Enter 快速提交