色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

比Nginx性能更強的下一代Web服務器

jf_ro2CN3Fa ? 來源:芋道源碼 ? 作者:芋道源碼 ? 2022-11-15 10:18 ? 次閱讀

簡介

Caddy 2 是一個強大的、企業級的、開源的 Web 服務器。是一個 Go 編寫的 Web 服務器,類似于 Nginx,Caddy 提供了更加強大的功能。

88ddf688-648a-11ed-8abf-dac502259ad0.png

支持 HTTP/2 的 Web 服務端。它使用 Golang 標準庫提供 HTTP 功能。Caddy 一個顯著的特性是默認啟用HTTPS。它是第一個無需額外配置即可提供HTTPS 特性的Web 服務器。

  • 官網:https://caddyserver.com
  • 文檔:https://caddyserver.com/docs/

基于 Spring Boot + MyBatis Plus + Vue & Element 實現的后臺管理系統 + 用戶小程序,支持 RBAC 動態權限、多租戶、數據權限、工作流、三方登錄、支付、短信、商城等功能

  • 項目地址:https://github.com/YunaiV/ruoyi-vue-pro
  • 視頻教程:https://doc.iocoder.cn/video/

特性

  • 全自動支持 HTTP/2 協議,無需配置。
  • 全自動變成 HTTPS 站點,無需任何配置。
  • 合理使用多核
  • 支持 IPv6 環境
  • 對 WebSockets 有很好的支持
  • 可以自動把 Markdown 轉成 HTML
  • Caddy 對 log 格式的定義很容易
  • 易于部署 ,沒有依賴
  • 作為反向代理支持主動和被動健康檢查、負載均衡、斷路、緩存等功能。
  • 支持 Windows、 Linux、Mac 三大主流系統
相較于 Nginx 來說使用 Caddy 的優勢如下
88f8f3ca-648a-11ed-8abf-dac502259ad0.png
  • 自動的 HTTPS 證書申請(ACME HTTP/DNS 挑戰)
  • 自動證書續期以及 OCSP stapling 等
  • 更高的安全性包括但不限于 TLS 配置以及內存安全等
  • 友好且強大的配置文件支持
  • 支持 API 動態調整配置(有木有人可以搞個 Dashboard)
  • 支持 HTTP3(QUIC)
  • 支持動態后端,例如連接 Consul、作為 k8s ingress 等
  • 后端多種負載策略以及健康檢測
  • 本身 Go 編寫,高度模塊化的系統方便擴展(CoreDNS 基于 Caddy1 開發)

基于 Spring Cloud Alibaba + Gateway + Nacos + RocketMQ + Vue & Element 實現的后臺管理系統 + 用戶小程序,支持 RBAC 動態權限、多租戶、數據權限、工作流、三方登錄、支付、短信、商城等功能

  • 項目地址:https://github.com/YunaiV/yudao-cloud
  • 視頻教程:https://doc.iocoder.cn/video/

安裝

下載地址:https://caddyserver.com/download

Fedora/RHEL/CentOS 8
$dnfinstall'dnf-command(copr)'
$dnfcoprenable@caddy/caddy
$dnfinstallcaddy
MacOS
brewinstallcaddy
RHEL/CentOS 7
$yuminstallyum-plugin-copr
$yumcoprenable@caddy/caddy
$yuminstallcaddy
Debian/Ubuntu/Raspbian
$sudoaptinstall-ydebian-keyringdebian-archive-keyringapt-transport-https
$curl-1sLf'https://dl.cloudsmith.io/public/caddy/stable/gpg.key'|sudotee/etc/apt/trusted.gpg.d/caddy-stable.asc
$curl-1sLf'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt'|sudotee/etc/apt/sources.list.d/caddy-stable.list
$sudoaptupdate
$sudoaptinstallcaddy

安裝完成后,在終端命令行下輸入 caddy :

$caddy

Caddyisanextensibleserverplatform.

usage:
caddy[]

commands:
adaptAdaptsaconfigurationtoCaddy'snativeJSON
build-infoPrintsinformationaboutthisbuild
environPrintstheenvironment
file-serverSpinsupaproduction-readyfileserver
fmtFormatsaCaddyfile
hash-passwordHashesapasswordandwritesbase64
helpShowshelpforaCaddysubcommand
list-modulesListstheinstalledCaddymodules
reloadChangestheconfigoftherunningCaddyinstance
reverse-proxyAquickandproduction-readyreverseproxy
runStartstheCaddyprocessandblocksindefinitely
startStartstheCaddyprocessinthebackgroundandthenreturns
stopGracefullystopsastartedCaddyprocess
trustInstallsaCAcertificateintolocaltruststores
untrustUntrustsalocally-trustedCAcertificate
upgradeUpgradeCaddy(EXPERIMENTAL)
validateTestswhetheraconfigurationfileisvalid
versionPrintstheversion

Use'caddyhelp'formoreinformationaboutacommand.

Fulldocumentationisavailableat:
常用命令
$systemctlstart[stop|restart]caddy//啟動服務
$systemctlreloadcaddy//重新加載配置文件
$systemctlstatuscaddy//查看運行狀態

配置

Caddy2 的配置文件核心采用 json,但是 json 可讀性不強,所以官方維護了一個轉換器,抽象出稱之為 Caddyfile 的新配置格式;關于 Caddyfile 的完整語法請查看官方文檔。文檔地址:https://caddyserver.com/docs/caddyfile

常用配置
站點配置
(site_option){
encodezstdgzip
file_server
handle_errors{
rewrite*/{http.error.status_code}.html
file_server
}
importacme_https
importlog_file
root*/www/{host}
}
多域名配置
地址{
........
}

這個地址支持以下幾種格式

localhost
example.com
:443
http://example.com
localhost:8080
127.0.0.1
[::1]:2015
example.com/foo/*
*.example.com
http://
全局配置選項
{
#開啟所有的調試輸出
debug
#設定默認的sni
default_snidomain.com
#打開或關閉管理端口
adminoff
}
錯誤頁面跳轉
www.mingongge.com{
root*/web/mingongge.com/
file_server
handle_errors{
rewrite*/{http.error.status_code}.html
file_server
}
}
Log 日志
(log_file){
log{
formatlogfmt
outputfile/var/log/caddy/{host}.access.log{
roll_keep7
}
}
}
Header
www.mingongge.com{
root*/web/mingongge.com/
file_server
headerAccess-Control-Allow-Origin*
headerCache-Controlmax-age=3600
header/css/*Cache-Controlmax-age=604800
}
Cache-Control
(cachecontrol){
header/css/*Cache-Controlmax-age=3600
header/img/*Cache-Controlmax-age=3600
header/js/*Cache-Controlmax-age=3600
}

反向代理

https://www.mingongge.com{
gzip
tlsadmin@mingongge.com
proxy/https://welcome.mingongge.com
}
快速創建一個站點
caddyfile-server--website./index--listen:8088--domainwww.mingongge.com

參數說明

file-server#這是一個文件服務器
--website#文件服務的根目錄
./index#首頁文件的存儲目錄(如存放index.html)
--listen:8088#定義監聽端口
--domainwww.mingongge.com#綁定域名
配置片段

Caddyfile 支持類似代碼中 function 一樣的配置片段,這些配置片段可以在任意位置被 import,同時可以接受參數,以下為配置片斷示例:

#括號內為片段名稱,可以自行定義
(TLS){
protocolstls1.2tls1.3
ciphersTLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256
}

#在任意位置可以引用此片段從而達到配置復用
importTLS
配置模塊化

import 指令除了支持引用配置片段以外,還支持引用外部文件,同時支持通配符,有了這個命令以后我們就可以方便的將配置文件進行模塊化處理:

#引用外部的/etc/caddy/*.caddy
import/etc/caddy/*.caddy

模塊化配置實例

Caddyfile

Caddyfile 類似于 nginx 的 nginx.conf 主配置。

(LOG){
log{
formatformatted"[{ts}]{request>remote_addr}{request>proto}{request>method}<-?{status}?->{request>host}{request>uri}{request>headers>User-Agent>[0]}"{
time_format"iso8601"
}
outputfile"{args.0}"{
roll_size100mb
roll_keep3
roll_keep_for7d
}
}
}

(TLS){
protocolstls1.2tls1.3
ciphersTLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256
}

(HSTS){
header/Strict-Transport-Security"max-age=63072000"
}

(ACME_GANDI){
#從環境變量獲取GANDI_API_TOKEN
dnsgandi{$GANDI_API_TOKEN}
}

#聚合上面的配置片段為新的片段
(COMMON_CONFIG){
#壓縮支持
encodezstdgzip

#TLS配置
tls{
importTLS
importACME_GANDI
}

#HSTS
importHSTS
}

#開啟HTTP3實驗性支持
{
servers:443{
protocol{
experimental_http3
}
}
}

#引入其他具體的站點配置
import/etc/caddy/*.caddy
站點配置
www.mingongge.com{
#重定向到mingongge.com(默認302)
redirhttps://mingongge.com{uri}

#日志
importLOG"/data/logs/mingongge.com.log"

#TLS、HSTS、ACME等通用配置
importCOMMON_CONFIG
}

mingongge.com{
#路由
route/*{
reverse_proxymingongge_com:80
}

#日志
importLOG"/data/logs/mingongge.com.log"

#TLS、HSTS、ACME等通用配置
importCOMMON_CONFIG
}

配置完成后,通過 systemctl start caddy 去啟動 caddy 服務器。每次配置修改后可以通過 systemctl reload caddy 進行配置重載。這些命令的功能與 Nginx 的命令功能基本一樣。

總結

Caddy 內置了豐富的插件,例如 “file_server”、內置各種負載均衡策略等,這些插件組合在一起可以實現一些復雜的功能。Caddy 采用 Go 語言編寫,相比較而言(Nginx 通過 Lua 或者 C 開發插件),對于后期的開發更容易上手。



審核編輯 :李倩


聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • Web
    Web
    +關注

    關注

    2

    文章

    1262

    瀏覽量

    69446
  • 服務器
    +關注

    關注

    12

    文章

    9129

    瀏覽量

    85344
  • nginx
    +關注

    關注

    0

    文章

    149

    瀏覽量

    12171

原文標題:比 Nginx 性能更強的下一代 Web 服務器

文章出處:【微信號:芋道源碼,微信公眾號:芋道源碼】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    服務器Nginx Proxy Manager申請cloudflare泛域名

    概述NginxProxyManager是個基于Nginx的反向代理管理工具,它提供了個用戶友好的Web界面,方便用戶管理和配置
    的頭像 發表于 12-06 01:03 ?138次閱讀
    「<b class='flag-5'>服務器</b>」<b class='flag-5'>Nginx</b> Proxy Manager申請cloudflare泛域名

    nginx隱藏版本號與WEB服務器信息

    nginx不僅可以隱藏版本信息,還支持自定義web服務器信息 先看看最終的隱藏結果吧 具體怎么實現呢,其實也很簡單,請往下看 1 官網下載最新穩定版 wget http://nginx
    的頭像 發表于 11-22 10:25 ?163次閱讀
    <b class='flag-5'>nginx</b>隱藏版本號與<b class='flag-5'>WEB</b><b class='flag-5'>服務器</b>信息

    nginx負載均衡配置介紹

    目錄 nginx負載均衡 nginx負載均衡介紹 反向代理與負載均衡 nginx負載均衡配置 Keepalived高可用nginx負載均衡器 修改W
    的頭像 發表于 11-10 13:39 ?232次閱讀
    <b class='flag-5'>nginx</b>負載均衡配置介紹

    意法半導體下一代汽車微控制的戰略部署

    ???????? 意法半導體致力于幫助汽車行業應對電氣化和數字化的挑戰,不僅提供現階段所需的解決方案,未來還提供更強大的統的MCU平臺開發戰略,通過突破性創新支持下一代車輛架構和軟件定義
    的頭像 發表于 11-07 14:09 ?332次閱讀

    Jtti:美國VPS開啟nginx狀態監控,查看web服務器的并發連接數

    |htaccess|asp|aspx|jsp|asa|mdb)$ { deny all; }location ~ ^/Nginxstatus/ {stub_status on;access_log off;}上面的代碼紅色部分為nginx的監控?。 2、重
    的頭像 發表于 08-26 15:42 ?276次閱讀

    IaaS+on+DPU(IoD)+下一代性能算力底座技術白皮書

    大規模生產環境落地應用的條件。某種程度上,IoD 技術已成為下一代性能算力底座的核心技術與最佳實踐。 白皮書下載:*附件:IaaS+on+DPU(IoD)+下一代性能算力底座+技
    發表于 07-24 15:32

    如何使用espconn api實現Web服務器

    我正在嘗試使用 espconn api 實現Web 服務器。 在些請求之后,我收到將此錯誤(err1,超過最大時間值)寫入 uart,下一
    發表于 07-18 07:46

    如何使用nginx反向代理功能?保姆級教程!

    關于nginxnginx是款高性能的開源Web服務器軟件,也可以用于反向代理、負載均衡等,并且具有高
    的頭像 發表于 06-21 08:21 ?646次閱讀
    如何使用<b class='flag-5'>nginx</b>反向代理功能?保姆級教程!

    24芯M16插頭在下一代技術中的潛力

      德索工程師說道隨著科技的飛速發展,下一代技術正逐漸展現出其獨特的魅力和潛力。在這背景下,24芯M16插頭作為種高性能、多功能的連接
    的頭像 發表于 06-15 18:03 ?332次閱讀
    24芯M16插頭在<b class='flag-5'>下一代</b>技術中的潛力

    臺達推出提高人工智能服務器和數據中心能效的下一代電源解決方案

    臺達電子(Delta)是電源與散熱管理解決方案的領導廠商,在IEEE應用電力電子會議暨博覽會(APEC)2024上,推出了提高人工智能(AI)服務器和數據中心能效的下一代電源解決方案。
    的頭像 發表于 04-10 15:06 ?996次閱讀

    服務器操作系統有幾種?

    是致力于加強下一代網絡、運用和web服務項目的作用而設計方案,它對比 Windows server 2003在Web專用工具、虛擬技術、安全系數等層面強過Windows Server
    發表于 03-29 16:59

    蘋果正努力為下一代iPhone搭載更強大的AI技術

    蘋果公司正致力于在下一代iPhone上實現更強大的本地人工智能技術。近日,蘋果收購了家專注于AI視頻壓縮技術的初創公司WaveOne,此舉進步證明了蘋果在AI領域的投入和決心。
    的頭像 發表于 01-25 16:46 ?814次閱讀

    Apache服務器Nginx服務器

    Apache和Nginx都是常見的開源Web服務器軟件,它們用于處理HTTP請求并提供網站和應用程序的服務。下面是對Apache和Nginx
    的頭像 發表于 01-22 16:48 ?559次閱讀

    什么是web服務器?如何選擇服務器配置?

    Web服務器種軟件或硬件設備,用于托管和提供網頁內容。它接收客戶端(如瀏覽)發送的HTTP請求,并返回相應的網頁內容或其他資源,以實現更高的
    的頭像 發表于 01-03 15:25 ?1092次閱讀

    Nginx在Windows/docker中的使用

    nginx個高性能的開源反向代理服務器web 服務器
    的頭像 發表于 01-03 10:20 ?1861次閱讀
    <b class='flag-5'>Nginx</b>在Windows/docker中的使用
    主站蜘蛛池模板: 34g污奶绵uk甩奶| 日韩高清毛片| 蜜芽tv在线www| 中国成人在线视频| 十大禁止安装的黄台有风险| 久久久久婷婷国产综合青草| 久青草国产在线视频| 嫩草影院久久精品| 色噜噜色啪在线视频| 亚洲haose在线观看| 曰本女人牲交视频免费| 午夜福利电影| 野花日本手机观看大全免费3 | 2021精品高清卡1卡2卡3麻豆| 973午夜伦伦电影论片| 中文字幕在线观看亚洲| J午夜精品久久久久久毛片| 99久久99久久久精品久久| 动漫美女被到爽了流| 国产在线精品亚洲一品区| 两百磅美女| 涩涩免费网站| 医生含着我的奶边摸边做| 扒开女人下面使劲桶动态图| 99国产在线观看| 99精彩视频在线观看| 国产69精品久久久久人妻刘玥| 狠狠色狠狠色88综合日日91| 欧美特级午夜一区二区三区| 香蕉动漫库| 97伦理97伦理2018最新| 国产成在线观看免费视频| 久久久中日AB精品综合| 色久久一个亚洲综合网| 在线黑人抽搐潮喷| 91福利国产在线观看网站| 国产成人在线视频播放| 麻豆精品传媒卡一卡二传媒短视频| 色影音先锋av资源网| 2022久久精品国产色蜜蜜麻豆| 国产精品 中文字幕 亚洲 欧美|