1:Caddy介紹
作為新興 Web 服務器,Caddy 提供了很多簡單易用的功能而沒有歷史的包袱,其默認支持並且能幫你自動配置 HTTP/2、HTTPS,對於 IPV6、WebSockets 都有很好的支持。基於 Go 編寫的 Caddy 天生對於多核具有很好的支持,並且其豐富的插件系統提供了文件管理、文件上傳、基於 MarkDown 的博客系統等等開箱即用的擴展功能。
使用 Caddy 服務器軟件,輕松將自己的電腦變成服務器,搭建一個屬於自己的“網站”,從而將文件夾以網頁的形式共享出去,讓局域網甚至互聯網上的其他電腦、手機、平板設備均能通過瀏覽器輕松訪問和下載它們…
caddy的安裝,就是從caddy的官網下載: https://caddyserver.com/download。
2:Caddy安裝
根據需要安裝自己的插件,此處安裝filemanager,下載完成后,解壓到任意目錄下,如下圖所示:
3:Caddy實現文件共享
- 新建目錄
進入到此文件夾內,在此根目錄新建一個“index.html” (首頁) 文件,用記事本編輯,輸入任何內容如 “Hello Caddy!” 並保存。
- 雙擊啟動Caddy,訪問網頁(Caddy默認端口號2015)
注意 1:因為 index.html 文件是網頁的首頁,Caddy 會自動識別,如果文件名改成 “another.html”,就必須輸入 “localhost:2015/another.html” 才能看到了。
注意 2:如果之后要使用 “filemanager 文件管理器” 等模塊,那么在下載的時候必須要手動勾選對應的模塊,默認只勾選了核心模塊。
-
Caddy默認執行index.html
第一次執行./caddy,實際上就啟動了一個靜態文件Server。但這個server不默認支持你navigate directory。如果你知道website root目錄(如果沒有指定root,則caddy執行的當
前路徑會作為website的root路徑)下的文件名,比如foo.txt,你可以在瀏覽器 中輸入:localhost:2015/foo.txt,caddy會執行正確的服務,瀏覽器也會顯示foo.txt的全文。
對於靜態文件Server,caddy支持在website的root路徑下首先查找是否有如下四個文件:
//caddy/middleware/browse/browse.go
var IndexPages = []string{
"index.html",
"index.htm",
"default.html",
"default.htm",
}
如果查到有其中一個,則優先返回這個文件內容,這就是靜態站點的首頁。
如果要支持目錄文件列表瀏覽,則需要為website配置browse middleware,這樣對於無index file的目錄,我們可以看到目錄文件列表。
localhost:2015 {
browse
}
-
新建並修改Caddyfile
- 新建file文件夾,創建測試文件
注意:如果需要通過互聯網訪問,那么這里的 IP 就要修改成你的公網 IP 或者動態域名了。我這里還是以局域網為例子,對應的網址是 192.168.1.33。
-
文件上傳下載測試
網頁輸入192.168.1.33:8888/file,如下圖所示
默認用戶名和密碼都是admin,登錄進去如下圖所示:
點擊左邊欄可以上傳目錄和文件
如上圖所示,創建成功。
同時,同一個局域網內的手機也可以訪問並且進行文件的上傳和下載。