如何在Linux服務器上使用Caddy部署HTTPS網站
Web服務器是服務器端應用程序,旨在處理客戶端和服務器之間的HTTP請求。HTTP是最廣泛使用的基本網絡協議。
Apache HTTP Server在設計當今的網絡中扮演了重要角色。它占有37.3%的市場份額。Nginx以32.4%的市場份額名列第二。微軟IIS和LiteSpeed分別排名第三和第四,市場份額分別為7.8%和6.9%。
最近,我遇到了一個名為Caddy的Web服務器。當我嘗試查詢其功能并將其部署到測試中時,可以說很棒很棒。可移植的Web服務器,不需要任何配置文件。我認為這是一個非??岬捻椖浚⑾Mc您分享。在本文,我們與大家一起嘗試下Caddy!
Caddy是什么?
Caddy是易于配置和使用的Apache Web服務器的替代產品。Caddy的項目負責人Matthew Holt聲稱Caddy是一種通用的網絡服務器,聲稱是最人性化的設計,并且可能是唯一的此類服務器。
Caddy是唯一一個可以使用Let's Encrypt自動獲取和更新SSL/TLS證書的Web服務器。
Caddy的特點
- 使用HTTP/2的快速HTTP請求。
- 具有最少配置和無憂部署的功能強大的Web服務器。
- TLS加密可確保通過Internet進行通信的應用程序和用戶之間的加密。您可以使用自己的密鑰和證書。
- 易于部署/使用。僅一個文件,不依賴任何平臺。
- 無需安裝。
- 便攜式可執行文件。
- 運行多個CPU /內核。
- 先進的WebSockets技術–瀏覽器和服務器之間的交互式通信會話。
- 服務器Markdown文檔正在運行中。
- 完全支持最新的IPv6。
- 以自定義格式創建日志。
- 服務FastCGI,反向代理,重寫和重定向,干凈URL,Gzip壓縮,目錄瀏覽,虛擬主機和標題。
- 適用于所有已知平臺– Windows,Linux,BSD,Mac,Android。
是什么讓Caddy與眾不同?
- Caddy附帶了最新功能-HTTP/2,IPv6,Markdown,WebSockets,FastCGI,模板和其他現成的功能。
- 無需安裝即可運行可執行文件。
- 具有最少技術描述的詳細文檔。
- 開發時會考慮設計師,開發人員和Blogger的需求并使其輕松入門。
- 支持虛擬主機–定義任意數量的站點。
- 適合您–無論您的站點是靜態的還是動態的。如果您是人類,那是給您的。
- 您專注于實現目標,而不是實現目標。
- 支持大多數平臺– Windows,Linux,Mac,Android,BSD。
- 通常,每個站點有一個Caddy文件。
- 即使您是初學者,也可以在不到1分鐘的時間內完成設置。
測試環境
我將在CentOS服務器和Debian Server 上對其進行測試,但是相同的說明也適用于基于RHEL和Debian的發行版。對于這兩個服務器,我將使用64位可執行文件。
操作系統:CentOS 8.1和Debian 10 Buster
Caddy版本:v2.1.1
在Linux中安裝Caddy Web Server
不管您使用的是哪種平臺和哪種體系結構,caddy都可以立即使用二進制軟件包,可以使用所示的默認軟件包管理器進行安裝。
在Fedora,RedHat和CentOS中安裝Caddy
我們將從Fedora或RHEL/CentOS 8下的CORP存儲庫中安裝最新版本的Caddy Web服務器。
- # dnf install 'dnf-command(copr)'
- # dnf copr enable @caddy/caddy
- # dnf install caddy
在RHEL/CentOS 7上,使用以下命令。
- # yum install yum-plugin-copr
- # yum copr enable @caddy/caddy
- # yum install caddy
在Debian和Ubuntu中安裝Caddy
- $ echo "deb [trusted=yes] https://apt.fury.io/caddy/ /" \
- | sudo tee -a /etc/apt/sources.list.d/caddy-fury.list
- $ sudo apt update
- $ sudo apt install caddy
安裝caddy Web服務器后,您可以使用以下systemctl命令啟動,啟用和檢查服務狀態。
- # systemctl start caddy
- # systemctl enable caddy
- # systemctl status caddy
現在打開瀏覽器,將瀏覽器指向以下地址,您應該可以看到caddy歡迎頁面。
使用Caddy設置域
要設置域,首先,您需要在DNS控制面板中將域的A/AAAA DNS記錄指向此服務器。接下來,如圖所示,"linuxmi.com"在文件夾下為您的網站創建文檔根目錄/var/www/html。
- $ mkdir /var/www/html/linuxmi.com
如果使用的是SELinux,則需要更改Web內容的文件安全性上下文。
- # chcon -t httpd_sys_content_t /var/www/html/example.com -R
- # chcon -t httpd_sys_rw_content_t /var/www/html/example.com -R
現在,在打開并編輯Caddy配置文件/etc/caddy/Caddyfile。
- # vim /etc/caddy/Caddyfile
替換:80為您的域名,然后將站點根目錄更改/var/www/html/linuxmi.com為所示。
重新加載Caddy服務以保存配置更改。
- # systemctl reload caddy
現在創建任何HTML頁面(您可以創建自己的HTML頁面),并將頁面保存在網站的文檔根目錄下。
- $ mkdir /var/www/html/linuxmi.com
將以下示例HTML代碼添加到您網站的索引頁面。
- [root@localhost /home/linuxmi/www.linuxmi.com]$echo '<!doctype html><head><title>Caddy Test Page at LinuxMi.com</title></head><body><h1>Hello, World!</h1></body></html>' | sudo tee /var/www/html/linuxmi.com/index.html
- <!doctype html><head><title>Caddy Test Page at LinuxMi.com</title></head><body><h1>Hello, World!</h1></body></html>
現在,再次訪問您的站點以查看頁面。
如果正確配置了所有內容,則將通過HTTPS協議為您的域提供服務,表明您的連接是安全的。
總結
如果您是新手,并且想要在不影響配置的情況下設置網絡服務器,那么此工具非常適合您。即使您是經驗豐富的用戶,也需要即時且簡單的Web服務器Caddy值得一試。只需進行一些配置,如果您需要設置更復雜和高級的Web服務器,則還可以設置文件夾權限,控制身份驗證,錯誤頁面,Gzip,HTTP重定向等。
不要將Caddy替代Apache或Nginx。Caddy并非設計用于處理高流量的生產環境。當您關注速度和可靠性時,它可用于快速設置Web服務器。