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