国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

目錄
Caddy簡(jiǎn)介
Caddy具有以下主要特性:
安裝
使用
基本上使用
Caddyfile基本語(yǔ)法
反向代理
靜態(tài)代理
動(dòng)態(tài)代理
文件壓縮
地址重寫(xiě)
按目錄劃分
HTTPS
Docker支持
首頁(yè) 運(yùn)維 Nginx Nginx的Web伺服器caddy怎麼使用

Nginx的Web伺服器caddy怎麼使用

May 30, 2023 pm 12:19 PM
web nginx caddy

    Caddy簡(jiǎn)介

    Caddy是一款功能強(qiáng)大、高度可擴(kuò)展的Web伺服器,目前已經(jīng)獲得了38K Star的GitHub關(guān)注。 Caddy採(cǎi)用Go語(yǔ)言編寫(xiě),可用於靜態(tài)資源託管和反向代理。

    Caddy具有以下主要特性:

    • 對(duì)比Nginx複雜的配置,其獨(dú)創(chuàng)的Caddyfile配置非常簡(jiǎn)單;

    • 可透過(guò)其提供的Admin API實(shí)現(xiàn)動(dòng)態(tài)修改配置;

    • 預(yù)設(shè)支援自動(dòng)化HTTPS配置,可自動(dòng)申請(qǐng)HTTPS憑證並進(jìn)行配置;

    • 能夠擴(kuò)展到數(shù)以萬(wàn)計(jì)的站點(diǎn);

    • 可以在任意地方執(zhí)行,沒(méi)有額外的依賴(lài);

    • 採(cǎi)用Go語(yǔ)言編寫(xiě),記憶體安全更有保證。

    安裝

    首先我們直接在CentOS 8上安裝Caddy,使用DNF工具安裝無(wú)疑是最簡(jiǎn)單的,Docker安裝方式之後也會(huì)介紹。

    使用以下指令透過(guò)DNF工具安裝Caddy,安裝成功後Caddy會(huì)被註冊(cè)成系統(tǒng)服務(wù);

    dnf install 'dnf-command(copr)'
    dnf copr enable @caddy/caddy
    dnf install caddy

    使用systemctl status caddy查看Caddy的狀態(tài),可以發(fā)現(xiàn)Caddy已被註冊(cè)為系統(tǒng)服務(wù),但是還沒(méi)開(kāi)啟。

    Nginx的Web伺服器caddy怎麼使用

    使用

    下面我們體驗(yàn)下Caddy的基本使用,對(duì)於Web伺服器來(lái)說(shuō)都是常用的操作,你準(zhǔn)能用的上!

    基本上使用

    讓我們先嘗試使用Caddy進(jìn)行入門(mén),指定Caddy運(yùn)行在2015端口,並返回「Hello, world!」資訊。

    直接使用caddy指令將輸出Caddy的常用指令,基本看介紹就知道如何使用了,標(biāo)出來(lái)的是常用指令;

    Nginx的Web伺服器caddy怎麼使用

    使用caddy start指令可以讓Caddy服務(wù)在後臺(tái)運(yùn)行;

    Nginx的Web伺服器caddy怎麼使用

    Caddy預(yù)設(shè)使用JSON格式的設(shè)定文件,但由於JOSN格式設(shè)定書(shū)寫(xiě)比較麻煩,又提供了Caddyfile這種更加簡(jiǎn)潔的設(shè)定形式,使用以下指令能自動(dòng)把Caddyfile轉(zhuǎn)換成JSON設(shè)定;

    caddy adapter

    我們可以先建立一個(gè)名稱(chēng)為Caddyfile的文件,檔案內(nèi)容如下,然後再用caddy adapter將它轉(zhuǎn)換為JSON配置,再使用caddy reload使配置生效,該配置將監(jiān)聽(tīng)2015端口,並返回Hello, world!;

    :2015
    
    respond "Hello, world!"

    然後我們使用curl命令訪(fǎng)問(wèn)localhost:2015,將返回指定的信息;

    Nginx的Web伺服器caddy怎麼使用

    當(dāng)然我們也可以使用Caddy提供的Admin API來(lái)查看配置信息,使用如下命令即可;

    curl localhost:2019/config/

    當(dāng)前JSON配置如下,如果你直接使用JSON配置的話(huà)需要書(shū)寫(xiě)如下配置,使用Caddyfile確實(shí)方便很多!

    {
    	"apps": {
    		"http": {
    			"servers": {
    				"srv0": {
    					"listen": [":2015"],
    					"routes": [{
    						"handle": [{
    							"body": "Hello, world!",
    							"handler": "static_response"
    						}]
    					}]
    				}
    			}
    		}
    	}
    }

    Caddyfile基本語(yǔ)法

    下面案例將使用Caddyfile來(lái)進(jìn)行配置,我們有必要了解下它的語(yǔ)法,Caddyfile的具體語(yǔ)法規(guī)則如下。

    Nginx的Web伺服器caddy怎麼使用

    介紹下上圖的關(guān)鍵字,有助於理解。

    ##可以重複使用的設(shè)定片段#定義好後認(rèn)可以透過(guò)import關(guān)鍵字引用Site Block單一網(wǎng)站設(shè)定透過(guò)file_server可以設(shè)定靜態(tài)代理,透過(guò)reverse_proxy可以設(shè)定動(dòng)態(tài)代理Matcher definition匹配定義預(yù)設(shè)指令會(huì)產(chǎn)生全域影響,透過(guò)它可以指定影響範(fàn)圍Comment註解使用#符號(hào)開(kāi)頭Site address網(wǎng)站位址預(yù)設(shè)使用HTTPS,如需開(kāi)啟HTTP,需要指定http://開(kāi)頭#Directive指令指令賦予了Caddy強(qiáng)大的功能

    反向代理

    反向代理就是當(dāng)請(qǐng)求訪(fǎng)問(wèn)你的代理服務(wù)器時(shí),代理服務(wù)器會(huì)對(duì)你的請(qǐng)求進(jìn)行轉(zhuǎn)發(fā),可以轉(zhuǎn)發(fā)到靜態(tài)的資源路徑上去,也可以轉(zhuǎn)發(fā)到動(dòng)態(tài)的服務(wù)接口上去。我們以代理域名為例,講解如何進(jìn)行靜態(tài)和動(dòng)態(tài)代理。

    靜態(tài)代理

    靜態(tài)代理就是將請(qǐng)求代理到不同的靜態(tài)資源路徑上去,這里我們將對(duì)docs.macrozheng.com的請(qǐng)求代理到我的文檔項(xiàng)目中,對(duì)mall.macrozheng.com的請(qǐng)求代理到mall的前端項(xiàng)目中。

    首先我們修改下本機(jī)的host文件:

    192.168.3.106 docs.macrozheng.com
    192.168.3.106 mall.macrozheng.com

    然后將我們的文檔項(xiàng)目和mall前端項(xiàng)目上傳到Caddy的html目錄中去,并進(jìn)行解壓操作:

    Nginx的Web伺服器caddy怎麼使用

    修改Caddyfile文件,使用如下配置,修改完成后使用caddy reload命令刷新配置;

    http://docs.macrozheng.com {
            root * /mydata/caddy/html/docs
            file_server browse
    }
    
    http://mall.macrozheng.com {
            root * /mydata/caddy/html/mall
            file_server browse
    }

    如果你的Caddyfile文件格式不太合格的話(huà),會(huì)出現(xiàn)如下警告,直接使用caddy fmt --overwrite格式化并重寫(xiě)配置即可解決;

    Nginx的Web伺服器caddy怎麼使用

    通過(guò)docs.macrozheng.com即可訪(fǎng)問(wèn)部署好的文檔項(xiàng)目了:

    Nginx的Web伺服器caddy怎麼使用

    通過(guò)mall.macrozheng.com即可訪(fǎng)問(wèn)到部署好的前端項(xiàng)目了。

    Nginx的Web伺服器caddy怎麼使用

    動(dòng)態(tài)代理

    動(dòng)態(tài)代理就是把代理服務(wù)器的請(qǐng)求轉(zhuǎn)發(fā)到另一個(gè)服務(wù)上去,這里我們將把對(duì)api.macrozheng.com的請(qǐng)求代理到演示環(huán)境的API服務(wù)上去。

    首先我們修改下本機(jī)的host文件,添加如下規(guī)則

    192.168.3.106 api.macrozheng.com

    修改Caddyfile文件,使用如下配置,修改完成后使用caddy reload命令刷新配置;

    http://api.macrozheng.com {
            reverse_proxy http://admin-api.macrozheng.com
    }

    之后通過(guò)api.macrozheng.com/swagger-ui.html即可訪(fǎng)問(wèn)到mall-admin的API文檔頁(yè)面了。

    Nginx的Web伺服器caddy怎麼使用

    文件壓縮

    如果我們的服務(wù)器帶寬比較低,網(wǎng)站訪(fǎng)問(wèn)速度會(huì)很慢,這時(shí)我們可以通過(guò)讓Caddy開(kāi)啟Gzip壓縮來(lái)提高網(wǎng)站的訪(fǎng)問(wèn)速度。這里我們以mall的前端項(xiàng)目為例來(lái)演示下它的提速效果。

    我們需要修改Caddyfile文件,使用encode指令開(kāi)啟Gzip壓縮,修改完成后使用caddy reload命令刷新配置;

    http://mall.macrozheng.com {
            root * /mydata/caddy/html/mall
            encode {
                gzip
            }
            file_server browse
    }

    有個(gè)比較大的JS文件壓縮前是1.7M;

    Nginx的Web伺服器caddy怎麼使用

    壓縮后為544K,訪(fǎng)問(wèn)速度也有很大提示;

    Nginx的Web伺服器caddy怎麼使用

    另外我們可以看下響應(yīng)信息,如果有Content-Encoding: gzip這個(gè)響應(yīng)頭表明Gzip壓縮已經(jīng)啟用了。

    Nginx的Web伺服器caddy怎麼使用

    地址重寫(xiě)

    有的時(shí)候我們的網(wǎng)站更換了域名,但還有用戶(hù)在使用老的域名訪(fǎng)問(wèn),這時(shí)可以通過(guò)Caddy的地址重寫(xiě)功能來(lái)讓用戶(hù)跳轉(zhuǎn)到新的域名進(jìn)行訪(fǎng)問(wèn)。

    我們需要修改Caddyfile文件,使用redir指令重寫(xiě)地址,修改完成后使用caddy reload命令刷新配置;

    http://docs.macrozheng.com {
            redir http://www.macrozheng.com
    }

    此時(shí)訪(fǎng)問(wèn)舊域名docs.macrozheng.com會(huì)直接跳轉(zhuǎn)到www.macrozheng.com去。

    按目錄劃分

    有時(shí)候我們需要使用同一個(gè)域名來(lái)訪(fǎng)問(wèn)不同的前端項(xiàng)目,這時(shí)候就需要通過(guò)子目錄來(lái)區(qū)分前端項(xiàng)目了。

    比如說(shuō)我們需要按以下路徑來(lái)訪(fǎng)問(wèn)各個(gè)前端項(xiàng)目;

    www.macrozheng.com #訪(fǎng)問(wèn)文檔項(xiàng)目
    www.macrozheng.com/admin #訪(fǎng)問(wèn)后臺(tái)項(xiàng)目
    www.macrozheng.com/app #訪(fǎng)問(wèn)移動(dòng)端項(xiàng)目

    我們需要修改Caddyfile文件,使用route指令定義路由,修改完成后使用caddy reload命令刷新配置。

    http://www.macrozheng.com {
            route /admin/* {
                    uri strip_prefix /admin
                    file_server {
                            root /mydata/caddy/html/admin
                    }
            }
            route /app/* {
                    uri strip_prefix /app
                    file_server {
                            root /mydata/caddy/html/app
                    }
            }
            file_server * {
                    root /mydata/caddy/html/www
            }
    }

    HTTPS

    Caddy能自動(dòng)支持HTTPS,無(wú)需手動(dòng)配置證書(shū),這就是之前我們?cè)谂渲糜蛎麜r(shí)需要使用http://開(kāi)頭的原因,要想使用Caddy默認(rèn)的HTTPS功能,按如下步驟操作即可。

    首先我們需要修改域名的DNS解析,直接在購(gòu)買(mǎi)域名的網(wǎng)站上設(shè)置即可,這里以docs.macrozheng.com域名為例;

    請(qǐng)使用以下命令確認(rèn)DNS解析記錄是否正確,注意所配置的服務(wù)器的80和443端口需要在外網(wǎng)中可以正常訪(fǎng)問(wèn):

    curl "https://cloudflare-dns.com/dns-query?name=docs.macrozheng.com&type=A" \
      -H "accept: application/dns-json"

    修改Caddyfile配置文件,進(jìn)行如下配置;

    docs.macrozheng.com {
            root * /mydata/caddy/html/docs
            file_server browse
    }

    然后使用caddy run命令啟動(dòng)Caddy服務(wù)器即可,是不是非常方便!

    caddy run

    Docker支持

    當(dāng)然Caddy也是支持使用Docker進(jìn)行安裝使用的,其使用和直接在CentOS上安裝基本一致。

    首先使用如下命令下載Caddy的Docker鏡像;

    docker pull caddy

    然后在/mydata/caddy/目錄下創(chuàng)建Caddyfile配置文件,文件內(nèi)容如下;

    http://192.168.3.105:80
    
    respond "Hello, world!"

    之后使用如下命令啟動(dòng)caddy服務(wù),這里將宿主機(jī)上的Caddyfile配置文件、Caddy的數(shù)據(jù)目錄和網(wǎng)站目錄掛載到了容器中;

    docker run -p 80:80 -p 443:443 --name caddy \
        -v /mydata/caddy/Caddyfile:/etc/caddy/Caddyfile \
        -v /mydata/caddy/data:/data \
        -v /mydata/caddy/html:/usr/share/caddy \
        -d caddy

    之后使用docker exec進(jìn)入caddy容器內(nèi)部執(zhí)行命令;

    docker exec -it caddy /bin/sh

    輸入Caddy命令即可操作,之后的操作就和我們直接在CentOS上安裝一樣了。

    Nginx的Web伺服器caddy怎麼使用

    以上是Nginx的Web伺服器caddy怎麼使用的詳細(xì)內(nèi)容。更多資訊請(qǐng)關(guān)注PHP中文網(wǎng)其他相關(guān)文章!

    本網(wǎng)站聲明
    本文內(nèi)容由網(wǎng)友自願(yuàn)投稿,版權(quán)歸原作者所有。本站不承擔(dān)相應(yīng)的法律責(zé)任。如發(fā)現(xiàn)涉嫌抄襲或侵權(quán)的內(nèi)容,請(qǐng)聯(lián)絡(luò)admin@php.cn

    熱AI工具

    Undress AI Tool

    Undress AI Tool

    免費(fèi)脫衣圖片

    Undresser.AI Undress

    Undresser.AI Undress

    人工智慧驅(qū)動(dòng)的應(yīng)用程序,用於創(chuàng)建逼真的裸體照片

    AI Clothes Remover

    AI Clothes Remover

    用於從照片中去除衣服的線(xiàn)上人工智慧工具。

    Clothoff.io

    Clothoff.io

    AI脫衣器

    Video Face Swap

    Video Face Swap

    使用我們完全免費(fèi)的人工智慧換臉工具,輕鬆在任何影片中換臉!

    熱工具

    記事本++7.3.1

    記事本++7.3.1

    好用且免費(fèi)的程式碼編輯器

    SublimeText3漢化版

    SublimeText3漢化版

    中文版,非常好用

    禪工作室 13.0.1

    禪工作室 13.0.1

    強(qiáng)大的PHP整合開(kāi)發(fā)環(huán)境

    Dreamweaver CS6

    Dreamweaver CS6

    視覺(jué)化網(wǎng)頁(yè)開(kāi)發(fā)工具

    SublimeText3 Mac版

    SublimeText3 Mac版

    神級(jí)程式碼編輯軟體(SublimeText3)

    熱門(mén)話(huà)題

    Laravel 教程
    1600
    29
    PHP教程
    1502
    276
    NGINX與Apache:Web服務(wù)器的比較分析 NGINX與Apache:Web服務(wù)器的比較分析 Apr 21, 2025 am 12:08 AM

    NGINX更適合處理高并發(fā)連接,而Apache更適合需要復(fù)雜配置和模塊擴(kuò)展的場(chǎng)景。1.NGINX以高性能和低資源消耗著稱(chēng),適合高并發(fā)。2.Apache以穩(wěn)定性和豐富的模塊擴(kuò)展聞名,適合復(fù)雜配置需求。

    nginx和apache:了解關(guān)鍵差異 nginx和apache:了解關(guān)鍵差異 Apr 26, 2025 am 12:01 AM

    NGINX和Apache各有優(yōu)劣,選擇應(yīng)基於具體需求。 1.NGINX適合高並發(fā)場(chǎng)景,因其異步非阻塞架構(gòu)。 2.Apache適用於需要復(fù)雜配置的低並發(fā)場(chǎng)景,因其模塊化設(shè)計(jì)。

    php寫(xiě)完代碼怎麼執(zhí)行 php代碼執(zhí)行的幾種常見(jiàn)方式 php寫(xiě)完代碼怎麼執(zhí)行 php代碼執(zhí)行的幾種常見(jiàn)方式 May 23, 2025 pm 08:33 PM

    PHP代碼可以通過(guò)多種方式執(zhí)行:1.使用命令行,直接輸入“php文件名”執(zhí)行腳本;2.通過(guò)Web服務(wù)器,將文件放入文檔根目錄並通過(guò)瀏覽器訪(fǎng)問(wèn);3.在IDE中運(yùn)行,利用內(nèi)置調(diào)試工具;4.使用在線(xiàn)PHP沙箱或代碼執(zhí)行平臺(tái)進(jìn)行測(cè)試。

    安裝Nginx後配置文件路徑及初始設(shè)置 安裝Nginx後配置文件路徑及初始設(shè)置 May 16, 2025 pm 10:54 PM

    了解Nginx的配置文件路徑和初始設(shè)置非常重要,因?yàn)樗莾?yōu)化和管理Web服務(wù)器的第一步。 1)配置文件路徑通常是/etc/nginx/nginx.conf,使用nginx-t命令可以查找並測(cè)試語(yǔ)法。 2)初始設(shè)置包括全局設(shè)置(如user、worker_processes)和HTTP設(shè)置(如include、log_format),這些設(shè)置允許根據(jù)需求進(jìn)行定制和擴(kuò)展,錯(cuò)誤配置可能導(dǎo)致性能問(wèn)題和安全漏洞。

    linux如何限制用戶(hù)資源? ulimit怎麼配置? linux如何限制用戶(hù)資源? ulimit怎麼配置? May 29, 2025 pm 11:09 PM

    Linux系統(tǒng)通過(guò)ulimit命令限制用戶(hù)資源,防止資源過(guò)度佔(zhàn)用。 1.ulimit是shell內(nèi)置命令,可限製文件描述符數(shù)(-n)、內(nèi)存大小(-v)、線(xiàn)程數(shù)(-u)等,分為軟限制(當(dāng)前生效值)和硬限制(最高上限)。 2.臨時(shí)修改直接使用ulimit命令,如ulimit-n2048,但僅對(duì)當(dāng)前會(huì)話(huà)有效。 3.永久生效需修改/etc/security/limits.conf及PAM配置文件,並添加sessionrequiredpam_limits.so。 4.systemd服務(wù)需在unit文件中設(shè)置Lim

    Debian Nginx配置技巧有哪些 Debian Nginx配置技巧有哪些 May 29, 2025 pm 11:06 PM

    在Debian系統(tǒng)上配置Nginx時(shí),以下是一些實(shí)用的技巧:配置文件的基本結(jié)構(gòu)全局設(shè)置部分:定義影響整個(gè)Nginx服務(wù)的行為參數(shù),比如工作線(xiàn)程數(shù)量及運(yùn)行用戶(hù)權(quán)限。事件處理部分:決定Nginx如何應(yīng)對(duì)網(wǎng)絡(luò)連接,是提升性能的關(guān)鍵配置。 HTTP服務(wù)部分:包含大量與HTTP服務(wù)相關(guān)的設(shè)定,可內(nèi)嵌多個(gè)server和location塊。核心配置選項(xiàng)worker_connections:定義每個(gè)工作線(xiàn)程所能處理的最大連接數(shù),通常設(shè)為1024。 multi_accept:激活多連接接收模式,增強(qiáng)並發(fā)處理的能力。 s

    NGINX的目的:服務(wù)Web內(nèi)容等 NGINX的目的:服務(wù)Web內(nèi)容等 May 08, 2025 am 12:07 AM

    nginxserveswebcontentandactsasareverseproxy,loadBalancer和more.1)效率高效的servesstaticContentLikeHtmlandImages.2)itfunctionsasareverseproxybalancer,and andginxenhanceperforfforfforfforfforfforffrenfcaching.4)

    NGINX故障排除:診斷和解決常見(jiàn)錯(cuò)誤 NGINX故障排除:診斷和解決常見(jiàn)錯(cuò)誤 May 05, 2025 am 12:09 AM

    Nginx常見(jiàn)錯(cuò)誤的診斷與解決方法包括:1.查看日誌文件,2.調(diào)整配置文件,3.優(yōu)化性能。通過(guò)分析日誌、調(diào)整超時(shí)設(shè)置和優(yōu)化緩存及負(fù)載均衡,可以有效解決404、502、504等錯(cuò)誤,提高網(wǎng)站穩(wěn)定性和性能。

    See all articles

    關(guān)鍵字解釋使用
    Global options block伺服器全域設(shè)定可用來(lái)設(shè)定是否啟用HTTPS和Admin API等
    #Snippet