什麼是Caddy Web伺服器?

什麼是Caddy Web伺服器?

有這麼多可用的網路伺服器,確定最適合您需求的伺服器可能很困難。較新的選項之一是Caddy Web伺服器,因其易用性、靈活性和效能而廣受歡迎。但是,它是否適合執行您的WordPress網站?

在這篇文章中,我們將解釋Caddy是什麼以及它是如何工作的。我們將討論使用Caddy Web伺服器的優缺點以及在其上執行WordPress的優勢。

什麼是Caddy Web伺服器軟體?

Caddy Web伺服器是一個開源的、支援HTTP/2的Web伺服器,用Go編寫:

Caddy官網

該伺服器被設計為簡單、高效和便攜。Caddy自稱是“終極伺服器”,旨在讓網路託管“儘可能簡單”。

Caddy於2015年首次釋出,由Carl Drechsel開發。該專案託管在GitHub上,並獲得了網際網路基礎設施基金會 (IFF) 的資助。

開源、跨平臺的Web伺服器在Linux、macOS、Windows、BSD和Solaris上執行。它還獲得了Apache License 2.0的許可。

Caddy有幾個特點使其與眾不同。值得注意的是,它支援使用Let’s Encrypt的HTTPS。此功能意味著您可以通過安全的HTTPS連線訪問Caddy提供的所有網站

Caddy還帶有一個基於Web的管理介面。該工具可以輕鬆管理單個伺服器上的多個網站。Caddy具有高度可擴充套件性,您可以對其進行自定義以滿足幾乎任何需求。

不同種類的網路伺服器是為不同的目的而設計的。一些Web伺服器,例如ApacheNGINX,旨在處理大量流量。其他的,例如Caddy和LiteSpeed,優先考慮易用性或效能。最適合您的Web伺服器型別取決於您的需求。如果您期望大量流量,您將需要一個效能優化的伺服器來處理它。此外,如果您想要一個易於使用的伺服器,您可能更喜歡具有基於Web的管理介面的伺服器,例如Caddy。

Caddy如何工作?

Caddy Web伺服器通過代理從客戶端到後端伺服器的請求來工作。Caddy可以配置為直接從其檔案系統為網站提供服務,也可以將請求代理到其他Web伺服器。

當客戶端發出請求時,Caddy將首先檢查其快取以檢視請求的內容是否可用。如果是這樣,Caddy將從其快取中提供內容。如果沒有,Caddy會將請求轉發到適當的後端伺服器並將響應返回給客戶端。

您可以將Caddy配置為提供靜態檔案,例如HTML、CSS和JavaScript。或者,您可以將其用作後端伺服器生成的動態內容的反向代理。Caddy還能夠在多個後端伺服器之間平衡請求。

如何確定您的Web伺服器是否正在使用Caddy

Caddy不太可能預先安裝在您的Web伺服器上。不過,一些服務和主機提供它。

您可以通過搜尋伺服器的配置檔案來確定您的Web伺服器是否使用Caddy。Caddy通常使用名為Caddyfilecaddy.conf的檔案進行配置。

如果找不到Caddyfilecaddy.conf檔案,請在伺服器的配置檔案中查詢“caddy”。如果您找到對Caddy的引用,則伺服器可能正在使用它。

您還可以檢查伺服器的程序列表。對於Linux系統,您可以使用ps aux | grep caddy命令檢視包含單詞“caddy”的所有程序的列表。

您可以從其網站下載Caddy 。它有開源和商業版本。

Caddy Web伺服器的優點與缺點

這些是 Caddy Web伺服器的一些優點:

  • 使用方便
  • 靈活性
  • 高效能

但是,它也有一些缺點:

  • 缺乏檔案
  • 有限的功能集

總體而言,Caddy網路伺服器適用於中小型網站。它易於使用,並且可以配置為與各種後端伺服器一起使用。但是,它可能不適合大型或複雜的網站。

在Caddy Web伺服器上執行WordPress

在Caddy上執行WordPress有一些好處。Web伺服器包括內建的HTTPS和安全功能,以幫助保護您的WordPress網站。Caddy還具有易於安裝、配置簡單、效能穩定和自定義選項。

少數主機提供對Caddy的支援,包括DigitalOcean。要充分利用您的Caddy Web伺服器,最好至少具備伺服器管理的基本知識。我們還建議使用虛擬專用伺服器 (VPS)或專用伺服器。

如果您想在Caddy上執行WordPress網站,您將需要PHP、Web伺服器和資料庫伺服器。

安裝WordPress

設定好PHP和MariaDB資料庫伺服器後,您可以使用以下命令安裝WordPress:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
wget -c http://wordpress.org/latest.tar.gz
tar -xzvf latest.tar.gz
wget -c http://wordpress.org/latest.tar.gz tar -xzvf latest.tar.gz
wget -c http://wordpress.org/latest.tar.gz
tar -xzvf latest.tar.gz

接下來,將您的wordpress資料夾移動到/var/www 目錄:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
sudo mv wordpress /var/www
sudo mv wordpress /var/www
sudo mv wordpress /var/www

您可以將所有權許可權更改為以下內容:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
sudo chown -R www-data:www-data /var/www/wordpress
sudo chown -R www-data:www-data /var/www/wordpress
sudo chown -R www-data:www-data /var/www/wordpress

接下來,設定WordPress連線:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
mv /var/www/wordpress/wp-config-sample.php /var/www/wordpress/wp-config.php
mv /var/www/wordpress/wp-config-sample.php /var/www/wordpress/wp-config.php
mv /var/www/wordpress/wp-config-sample.php /var/www/wordpress/wp-config.php

現在,我們將編輯配置檔案:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
sudo vim /var/www/wordpress/wp-config.php
sudo vim /var/www/wordpress/wp-config.php
sudo vim /var/www/wordpress/wp-config.php

新增以下變數:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
// ** MySQL settings - You can get this info from your web host ** //
/** The name of the database for WordPress */
define('DB_NAME', 'wp_site');
/** MySQL database username */
define('DB_USER', 'wp_user');
/** MySQL database password */
define('DB_PASSWORD', 'StrongPassword');
/** MySQL hostname */
define('DB_HOST', 'localhost');
/** Database Charset to use in creating database tables. */
define('DB_CHARSET', 'utf8');
/** The Database Collate type. Don't change this if in doubt. */
define('DB_COLLATE', '');
// ** MySQL settings - You can get this info from your web host ** // /** The name of the database for WordPress */ define('DB_NAME', 'wp_site'); /** MySQL database username */ define('DB_USER', 'wp_user'); /** MySQL database password */ define('DB_PASSWORD', 'StrongPassword'); /** MySQL hostname */ define('DB_HOST', 'localhost'); /** Database Charset to use in creating database tables. */ define('DB_CHARSET', 'utf8'); /** The Database Collate type. Don't change this if in doubt. */ define('DB_COLLATE', '');
// ** MySQL settings - You can get this info from your web host ** //
/** The name of the database for WordPress */
define('DB_NAME', 'wp_site');
 
/** MySQL database username */
define('DB_USER', 'wp_user');
 
/** MySQL database password */
define('DB_PASSWORD', 'StrongPassword');
 
/** MySQL hostname */
define('DB_HOST', 'localhost');
 
/** Database Charset to use in creating database tables. */
define('DB_CHARSET', 'utf8');
 
/** The Database Collate type. Don't change this if in doubt. */
define('DB_COLLATE', '');

一旦設定了這些變數,您就可以為您的WordPress站點配置Caddy。

配置Caddy

準備好WordPress安裝後,使用以下命令建立一個Caddy配置檔案:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
sudo vim /etc/caddy/Caddyfile
sudo vim /etc/caddy/Caddyfile
sudo vim /etc/caddy/Caddyfile

接下來,您可以新增內容:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
example.com {
tls domain-admin@example.com
root /var/www/wordpress
gzip
fastcgi / /run/php/php7.2-fpm.sock PHP
rewrite {
if {path} not_match ^\/wp-admin
to {path} {path}/ /index.php?{query}
}
}
example.com { tls domain-admin@example.com root /var/www/wordpress gzip fastcgi / /run/php/php7.2-fpm.sock PHP rewrite { if {path} not_match ^\/wp-admin to {path} {path}/ /index.php?{query} } }
example.com {
tls domain-admin@example.com
root /var/www/wordpress
gzip
 
fastcgi / /run/php/php7.2-fpm.sock PHP
 
rewrite {
 
if {path} not_match ^\/wp-admin
 
to {path} {path}/ /index.php?{query}
}
 
}

將“example.com”替換為您的WordPress域名,將“ domain-admin@example.com ”替換為您的電子郵件地址。

接下來,使用以下命令啟動Caddy服務:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
sudo systemctl start caddy.service
sudo systemctl start caddy.service
sudo systemctl start caddy.service

現在您應該會看到一條成功訊息!您可以訪問URL以訪問WordPress設定頁面。

小結

您用來為網站提供動力的Web伺服器軟體會顯著影響其效能和安全性。但是,您可能很難確定哪臺伺服器適合您的需求,有很多選項可供選擇。

正如我們在本文中所討論的,Caddy是一種靈活、可靠且使用者友好的選擇。如果您擁有大型、複雜的網站,這可能不是最佳選擇,但如果您擁有中小型企業,則值得考慮。

評論留言