久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

3.6 萬顆星,!開源 Web 服務(wù)器后起之秀,自帶免費(fèi) HTTPS 開箱即用

 昵稱10087950 2022-06-16 發(fā)布于江蘇
圖片

本文作者:HelloGitHub-Anthony

眾所周知,,Web 服務(wù)器是 Web 開發(fā)中不可或缺的基礎(chǔ)服務(wù),,在開發(fā)中經(jīng)常會用到。耳熟能詳?shù)拈_源 Web 服務(wù)器有久負(fù)盛名的 Apache,、性能強(qiáng)勁的 Nginx。而我們今天要介紹的開源項(xiàng)目是采用 Go 編寫的 Web 服務(wù)端“后起之秀”:Caddy 它擁有下載無需安裝就能用,、零配置實(shí)現(xiàn) HTTPS 等特點(diǎn),,從而在強(qiáng)者如云的 Web 服務(wù)器中占據(jù)了一席之地。
圖片

在這個 HTTPS 必選的時代,,Caddy 憑借無需額外配置自動 HTTPS,,分分鐘完成 HTTPS 站點(diǎn)搭建,使它成為了中小型 Web 服務(wù)的首選服務(wù)器,。Caddy 深受開源愛好者們的喜愛,,2014 年開源至今共收獲了 3.6 萬顆星。

圖片

項(xiàng)目地址:https://github.com/caddyserver/caddy

一,、為什么使用 Caddy ?

Caddy 是一個強(qiáng)大的,、可擴(kuò)展的平臺,可以為您的站點(diǎn),、服務(wù)和應(yīng)用程序提供服務(wù),。

使用 Caddy 可以在 Linux,、Mac、Windows 上快速部署 http(s) 站點(diǎn)或反向代理服務(wù),。支持:

  • HTTP/1.1 和 HTTP/2
  • 同時接受 HTTPS 自動簽發(fā)和手動管理
  • 虛擬主機(jī) (多個站點(diǎn)工作在單個端口上)
  • 原生 IPv4 和 IPv6 支持
  • 靜態(tài)文件分發(fā)
  • 平滑重啟/重載
  • 反向代理 (HTTP 或 WebSocket)
  • 負(fù)載均衡和健康性檢查
  • Markdown 渲染
  • 文件瀏覽服務(wù)
  • 等等

與傳統(tǒng)的 Nginx 或者 Apache 相比,,Caddy 整體只有一個可執(zhí)行文件,安裝便捷不易出現(xiàn)奇怪的依賴問題,,配置文件結(jié)構(gòu)清晰語法簡單易于上手,,依托于模塊化架構(gòu)可以使用 Go 語言快速開發(fā)擴(kuò)展模塊

下面讓我們上手把玩一番吧,。

二,、安裝

系統(tǒng)環(huán)境:Ubuntu 20.04 LTS

Caddy 可以作為一個系統(tǒng)服務(wù)安裝,命令:

sudo apt install -y debian-keyring debian-archive-keyring apt-transport-https
curl -1sLf 'https://dl./public/caddy/stable/gpg.key' | sudo tee /etc/apt/trusted.gpg.d/caddy-stable.asc
curl -1sLf 'https://dl./public/caddy/stable/debian.deb.txt' | sudo tee /etc/apt/sources.list.d/caddy-stable.list
sudo apt update
sudo apt install caddy
圖片

注意:這種方式安裝完成后會啟動服務(wù),,開機(jī)自動啟動,。

還可以下載一個可執(zhí)行文件使用。

圖片
  1. 下載地址:https:///download
  2. 在網(wǎng)頁上方選擇自己的操作系統(tǒng)后,,點(diǎn)擊右側(cè)藍(lán)色的 Download 按鈕即可
  3. 下載好的文件不能夠直接運(yùn)行,,需要為其添加權(quán)限
    $ mv caddy_linux_amd64 caddy # 將下載后的文件重命名方便后面指令輸入,根據(jù)系統(tǒng)不同文件名不一樣
    $ sudo chmod a+x caddy # 為 Caddy 添加可執(zhí)行權(quán)限
    $ mv caddy /bin/caddy # 將 Caddy 復(fù)制到 bin 目錄這樣可以在命令行隨時使用

命令行執(zhí)行 caddy version 命令,,出現(xiàn)版本信息:

v2.4.6 h1:HGkGICFGvyrodcqOOclHKfvJC0qTU7vny/7FhYp9hNw=

即為安裝成功,!

三、從零完成 HTTPS 站點(diǎn)

圖片

下面將演示如何通過 Caddy 完成 HTTPS 站點(diǎn),。只需要 4 步:

Tips 例子用的域名為:caddy.hellogithub.com 修改為你的域名即可,。

第一步:安裝,采用上面介紹的命令安裝

第二步:設(shè)置域名解析地址,,在購買域名的網(wǎng)站設(shè)置,。如下圖:

圖片

設(shè)置完生效需要幾分鐘,可通過下面的命令檢查是否生效:

curl "https:///dns-query?name=caddy.hellogithub.com&type=A" -H "accept: application/dns-json"

域名設(shè)置生效,,返回如下:

{"Status":0,"TC":false,"RD":true,"RA":true,"AD":false,"CD":false,"Question":[{"name":"caddy.hellogithub.com","type":1}],"Answer":[{"name":"caddy.hellogithub.com","type":1,"TTL":592,"data":"107.150.122.176"}]}

第三步:創(chuàng)建配置文件 Caddyfile,,無需額外的開啟 HTTPS 的設(shè)置:

caddy.hellogithub.com

respond "Hello HTTPS!"
  1. 域名
  2. 訪問返回的內(nèi)容

第四步:啟動,,在同一目錄下執(zhí)行命令:sudo caddy run

圖片

Caddy 默認(rèn)使用執(zhí)行命令目錄下的 Caddyfile 文件內(nèi)的配置,。

最后,訪問 caddy.hellogithub.com 檢驗(yàn)效果吧,!

圖片

四,、上手教程

這里將從 Caddy 常用命令開始,再到配置講解,,最后會通過一個實(shí)際案例來展示如何用 Caddy 配置網(wǎng)站和上線,。

4.1 常用命令

圖片

4.2 配置文件

Caddy 的原生配置文件使用的是 JSON 格式。但是為了用戶編寫方便它提供了 Caddyfile 作為接口讓用戶可以快速配置站點(diǎn)信息,,運(yùn)行時 Caddy 會自動將 Caddyfile 的配置信息轉(zhuǎn)為 JSON 配置文件,。

Caddyfile 所能提供功能不如 JSON 配置文件強(qiáng)大,,但是對于不需要復(fù)雜配置的用戶而言完全夠用了。

Caddyfile 的配置指令格式如下:

directive [<matcher>] <args...> { # matcher 代表匹配器,,如果提供則該指令將只對 matcher 描述的資源進(jìn)行響應(yīng)
subdirective [<args...>]# 子指令
}

Caddyfile 的文件結(jié)構(gòu)如圖所示:

圖片

4.3 演示

下面將演示如何用 Caddy 搭建站點(diǎn),,加深理解配置格式和命令使用。

目錄結(jié)構(gòu):

.
├── Caddyfile
├── index.html
└── public
    └── HG.html

兩個頁面文件 index.htmlHG.html 的內(nèi)容如下:

<!-- index.html -->
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Hello World!</title>
</head>
<body>
    你好,,世界,!
</body>
</html>
<!-- HG.html -->
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>HelloGitHub</title>
</head>
<body>
    HelloGitHub
</body>
</html>

Caddyfile 配置內(nèi)容如下:

# 如果本機(jī)沒有 wordpress 則注釋這一塊兒的站點(diǎn)配置
#:80 { # 部署一個 wordpress 站點(diǎn)
#root * /var/www/wordpress
#php_fastcgi unix//run/php/php-version-fpm.sock # 配置一個 fastcig 服務(wù)
#file_server# 配置一個文件服務(wù)
#}

http://localhost:3000 {
basicauth /public/* {
# 匹配訪問 localhost:3000/public/* 的請求,為其加上登陸保護(hù)
HG JDJhJDE0JGEySk9janFMdHlBY2Y0aVdQZklQak9HcmwzNDZhNFg0N3V5Ny9EZkZMZHB1Nkt4ZE5BNGJt
# 用戶名 HG 密碼 HelloGitHub,,密碼使用 caddy hash-passowrd 指令生成
}

root * ./ # 設(shè)置當(dāng)前站點(diǎn)根目錄為當(dāng)前文件夾,,* 表示匹配所有的 request
templates
file_server {
# 配置當(dāng)前站點(diǎn)為靜態(tài)文件服務(wù)器,可用于博客系統(tǒng)的搭建
hide .git # 隱藏所有的 .git 文件
}
}

:4000 {
reverse_proxy /public/* http://localhost:3000 # 配置反向代理
# 只會匹配 locahost:4000/public 的請求,,轉(zhuǎn)發(fā)到 localhost:3000/public/
}

在當(dāng)前目錄輸入:

$ caddy run # 啟動 Caddy

最后,,效果如下:

  1. 訪問:http://localhost:3000 可以看到頁面展示 “你好,世界,!”

  2. 訪問:http://localhost:3000/public/HG.html 提示輸入用戶名和密碼,,驗(yàn)證正確后才能看到頁面。

  3. 訪問:http://localhost:4000 則會自動跳轉(zhuǎn)到端口 3000 的頁面

4.4 提供接口管理方式

Caddy 除了簡單易懂的配置文件方式,,還提供了管理配置的接口,。通過這些接口可以輕松實(shí)現(xiàn) Web 服務(wù)器管理自動化、集成發(fā)布等高級功能,。

圖片

提供的接口和功能:

  • POST /load 設(shè)置或替換活動配置
  • POST /stop 停止活動配置并退出進(jìn)程
  • GET /config/[path] 導(dǎo)出指定路徑的配置
  • POST /config/[path] 設(shè)置或替換對象,;追加到數(shù)組
  • PUT /config/[path] 創(chuàng)建新對象或插入數(shù)組
  • PATCH /config/[path] 替換現(xiàn)有對象或數(shù)組元素
  • DELETE /config/[path] 刪除指定路徑的值
  • 在 JSON 中使用@id 輕松遍歷配置結(jié)構(gòu)
  • GET /reverse_proxy/upstreams 返回配置的代理上游的當(dāng)前狀態(tài)

由于篇幅問題這里就不再進(jìn)行演示了,如果您想深入了解可以閱讀 Caddy 的官方文檔,。

五,、總結(jié)

看到這里你應(yīng)該對 Caddy 有了一些了解,有沒有一種相見恨晚的感覺,?

雖然它的性能比不了 Nginx 但如果論上手的難易度,,Caddy 甩 Nginx 幾條街!主要是默認(rèn)開啟 HTTPS 功能太香了,,你什么都不用管就可以免費(fèi)、快速,、輕松開啟網(wǎng)站 HTTPS,。

最后,如果你想搭建個靜態(tài)博客或小站,,快去試試 Caddy 吧,!香不香只有“吃”過才知道~

這里是 HelloGitHub 推出的《講解開源項(xiàng)目》系列,為您叩開開源項(xiàng)目的大門,。

- END -

圖片

更多精彩等待你的發(fā)現(xiàn)

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購買等信息,,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請點(diǎn)擊一鍵舉報(bào),。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多