摘要:是一個像或的服務器。得益于的特性,只是一個小小的二進制文件,沒有依賴,很好部署。我們來試試在當前目錄創建這樣一個叫的文件這次,我們改變了端口,并且啟用了自動壓縮數據。據說全世界四分之一的站點都是搭建的,而公認是世界上最好的語言。
caddy 是一個像 Apache, nginx, 或 lighttpd 的web服務器。
你要問nginx已經很好了,為什么要用caddy呢? 我覺得caddy最大的特點是用起來簡單,
然后呢,它還有下面這些開箱即用的特性:
HTTP/2 全自動支持HTTP/2協議,無需任何配置。
Auto HTTPS Caddy 使用 Let"s Encrypt 讓你的站點全自動變成全站HTTPS,無需任何配置。當然你想使用自己的證書也是可以的。
Multi-core 因為caddy是golang寫的,所以當然可以合理使用多核啦。
IPv6 完全支持IPv6環境.
WebSockets Caddy 對WebSockets有很好的支持.
Markdown 自動把md轉成 HTML ,當然,我后續要給大家介紹更強大的hugo來干這個事情.
Logging Caddy 對log格式的定義很容易,更好的滿足你日志收集的需求。
Easy Deployment 得益于go的特性,caddy只是一個小小的二進制文件,沒有依賴,很好部署。
那么在什么場景下適合嘗試使用caddy呢,我推薦從以下場景開始:
作為靜態頁面的webserver
轉發 fastcgi 請求到 php-fpm 服務,比如替換apache或nginx作為wordpress的server
反向代理,管理多個站點
微服務的 API gateway ,我會專門寫一篇文章。
有些在nginx上難以開發的需求,為caddy寫插件太方便了。
入門 安裝caddy下載 caddy
把caddy放到系統的PATH中,讓其可以直接執行。比如Linux中一般習慣放到 /usr/local/bin
簡單測試找一個做測試的臨時目錄,生成一個測試主頁。echo "hello world">index.html
執行 caddy
在另一個終端 curl localhost:2015 或在瀏覽器訪問 (http://localhost:2015)
Caddyfilecaddy的一個特色就是配置簡單,nginx的配置文件群已經越看越暈了。我們來試試:
在當前目錄創建這樣一個叫Caddyfile的文件:
localhost:2020 gzip
這次,我們改變了端口,并且啟用了gzip自動壓縮數據。運行caddy,去你指定的地址看看吧。
說一句,caddy的潛規則是找當前目錄叫Caddyfile的文件,你也可以用參數指定文件和路徑。
更專業一點我們隨便說點高級功能,其實caddy的文檔挺不錯的,看文檔就可以了解各種功能。
自動 HTTPS如果你滿足這些條件,你用caddy啟動的應用將自動獲得HTTPS,不用你買證書了,這都是Let"s Encrypt的功勞。
host 那里要填一個域名,不能是 localhost 或 IP
不要用冒號手動指定端口
不要在域名前手動聲明http
沒在配置里關掉TLS 或者聲明用自己的證書但是還沒配好
caddy 有權限綁定 80 和 443 端口
前邊都能懂,說下最后一條。在init文件夾的啟動配置教程里都有,一般建議你用www-data用戶啟動服務,
你不是root但是Linux依然可以讓你綁定80端口,只需要執行setcap cap_net_bind_service=+ep caddy 。
具體看文檔吧。
你可能想,之前用nginx主要是為了支持多站點,caddy當然也是可以的,你只需要配置若干域名,
把每個域名的配置寫在后邊的大括號配置塊里就行了。下一個例子里就有。
據說全世界四分之一的站點都是wordpress搭建的,而PHP公認是世界上最好的語言。
caddy還沒有完全支持unix socket通訊呢,趕忙先把PHP支持了再說。
這是我自己博客的配置片段,我的荒蕪的非技術博客依然用的wordpress。
timeouts關鍵字是我摸索出來的,官方示例沒有,不設置這個國內升級插件什么的根本成功不了。
tls其實用默認值是可以的,但是后臺會有一堆落后的搜索引擎和爬蟲報錯,于是我調低了一點。
另外我還把www定向到了裸域名,大家一般都這樣做,或者反過來。
xiafeng.net { root /data/xiafeng/public timeouts 10m gzip tls { protocols tls1.0 tls1.2 } fastcgi / unix:/var/run/php/php7.0-fpm.sock php rewrite { if {path} not_match ^/wp-admin to {path} {path}/ /index.php?_url={uri} } } www.xiafeng.net { redir https://xiafeng.net }開機啟動
因為大部分發行版目前還沒辦法直接安裝caddy,開機啟動可能需要你自己動手啦。
在你下載的壓縮包中有一個init文件夾,里邊有Mac,Linux,FreeBSD的開機啟動配置幫助,
還有示例腳本,可以根據你的要求再DIY一下。
作為入門就先介紹這么多,我接下來的博客將會寫一些好玩的或專業的caddy的用法。敬請期待。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/39489.html
摘要:清新脫俗的服務器作為新興服務器,提供了很多簡單易用的功能而沒有歷史的包袱,其默認支持并且能幫你自動配置,對于都有很好的支持。 清新脫俗的 Web 服務器 Caddy 從屬于筆者的服務端應用程序開發與系統架構,我司之前一直使用 Nginx,不過其配置包括一些特性支持相較于 Caddy 略顯復雜,可以參考筆者的 Nginx 基本配置備忘。 showImg(https://segmentf...
摘要:清新脫俗的服務器作為新興服務器,提供了很多簡單易用的功能而沒有歷史的包袱,其默認支持并且能幫你自動配置,對于都有很好的支持。 清新脫俗的 Web 服務器 Caddy 從屬于筆者的服務端應用程序開發與系統架構,我司之前一直使用 Nginx,不過其配置包括一些特性支持相較于 Caddy 略顯復雜,可以參考筆者的 Nginx 基本配置備忘。 showImg(https://segmentf...
摘要:本文最早發表于本人博客簡單粗暴的在上一篇的極簡的開發環境實踐中提到是利用系統后臺啟用的來提供服務的,這個是個今天玩了一下,非常贊,當然簡單粗暴是有點標題黨了。 本文最早發表于本人博客: 簡單粗暴的Caddy Server 在上一篇的《Mac極簡的開發環境Laravel Valet實踐》中提到Valet是利用系統后臺啟用的Caddy來提供web服務的,這個Caddy是個web serve...
摘要:最近做小程序服務器的配置,這一篇是服務器配置的記錄,方便以后安裝配置。購買服務器之所以選騰訊云的原因很簡單,那就是便宜,選用成都區,最低配置每月只需。在騰訊云官網注冊登錄就可以直接購買服務器了。 最近做小程序服務器的配置,這一篇是服務器配置的記錄,方便以后安裝配置。 購買服務器 之所以選騰訊云的原因很簡單,那就是便宜,選用成都區,最低配置每月只需29¥。在 騰訊云 官網注冊登錄就可以直...
摘要:安裝及線上環境配置安裝官方安裝說明地址執行命令至此,安裝完成版本查看安裝官方文檔地址首次安裝執行命令以后創建項目只需在你需要的路徑下執行開發測試環境下直接執行以下命令啟動項目后面加上可以在修改現有文件后自動進行重啟瀏覽器輸入即可 centos+node.js+nest.js+caddy+pm2安裝及線上環境配置 node.js安裝 官方安裝說明地址 https://github.com...
閱讀 1035·2023-04-25 17:51
閱讀 2851·2021-11-23 09:51
閱讀 1469·2021-11-08 13:21
閱讀 2428·2021-09-22 15:14
閱讀 1514·2019-08-30 12:48
閱讀 1076·2019-08-29 12:44
閱讀 1137·2019-08-26 12:21
閱讀 1396·2019-08-26 10:47