Caddy server (o Caddy Web) è un server Web open source scritto in GoLang e supporta HTTP/2. Utilizza la libreria standard GoLang per fornire funzionalità HTTP. Una caratteristica notevole di Caddy è che HTTPS è abilitato per impostazione predefinita. È il primo server Web a fornire funzionalità HTTPS senza configurazione aggiuntiva.

Rispetto ai nostri server Web comunemente utilizzati come Nginx e Apache, la caratteristica più importante di Caddy è che è semplice da implementare. Ha il modulo server Web di base di Apache o nginx e ha anche alcune funzioni uniche, come: HTTP/. 2, HTTPS automatico, multi-core, Websocket, Markdown, IPv6 e altro.

Caddy può essere utilizzato per siti Web statici e dinamici. Naturalmente, molte persone hanno visto che Caddy è facile da installare e distribuire. Integrano Caddy con varie applicazioni come dischi di rete e download. Questo non solo sfrutta la semplice implementazione e configurazione di Caddy , ma massimizza anche le risorse del server di salvataggio e si concentra sullo sviluppo e sulla gestione di applicazioni di terze parti.
Il server Web leggero di Caddy con la massima capacità: distribuzione automatizzata HTTPS in un minuto di applicazioni Web e su disco di rete

Questo articolo condividerà l'installazione e l'utilizzo del server Caddy, altri strumenti e script per la creazione di siti Web e:

  1. Confronto di tre eccellenti file manager online (elenco di directory): Directory Lister, h5ai e FileRun
  2. Installazione e configurazione di smokeping: strumento di monitoraggio delle prestazioni di rete open source gratuito per la distribuzione master/slave visiva
  3. Script di installazione con un clic di OneinStack: distribuisci facilmente il certificato Let's Encrypt e configura il sito HTTPS

PS: aggiornato il 21 febbraio 2018 , se cerchi un programma per dischi di rete gratuito, puoi anche provare questo: usa Pydio per creare spazio di archiviazione cloud privato gratuito: la sincronizzazione automatica multiterminale può riprodurre video musicali online.

1. Metodo di installazione del carrello

Sito ufficiale del Caddy:

  1. Sito web: https://caddyserver.com/
  2. Scarica: https://caddyserver.com/download
  3. Github: https://github.com/mholt/caddy

Sono necessari solo tre passaggi per installare e distribuire Caddy. Per prima cosa, seleziona la versione Caddy in base al sistema operativo del tuo server e scaricala (sono supportati sia Linux che Windows).

2. Metodo di configurazione del caddy

2.1  Crea file di configurazione

Per prima cosa crea un file di configurazione e inseriscilo in /etc/caddy.

sudo mkdir /etc/caddy
sudo touch /etc/caddy/Caddyfile
sudo chown -R root:www-data /etc/caddy

Oltre al file di configurazione, caddy genererà automaticamente un certificato SSL e richiederà una cartella in cui posizionare il certificato SSL.

sudo mkdir /etc/ssl/caddy
sudo chown -R www-data:root /etc/ssl/caddy
sudo chmod 0770 /etc/ssl/caddy

Poiché la chiave privata verrà inserita nella cartella SSL, le autorizzazioni sono impostate su 770 per impedire ad altri utenti di accedervi. Infine, crea la directory in cui vengono posizionati i file del sito web. Se esiste già, non è necessario crearla.

sudo mkdir /var/www
sudo chown www-data:www-data /var/www

2.2  Configurare l'avvio

Dopo aver creato questi file e directory, dobbiamo configurare caddy come servizio in modo che possa essere eseguito automaticamente all'avvio e sia facile da gestire. Poiché la maggior parte delle distribuzioni attualmente utilizza systemd, qui parlerò solo di come configurare systemd.

sudo curl -s https://raw.githubusercontent.com/mholt/caddy/master/dist/init/linux-systemd/caddy.service -o /etc/systemd/system/caddy.service   # 从 github 下载 systemd 配置文件
sudo systemctl daemon-reload        # 重新加载 systemd 配置
sudo systemctl enable caddy.service # 设置 caddy 服务自启动
sudo systemctl status caddy.service # 查看 caddy 状态

2.3  Modifica Caddyfile.

Puoi utilizzare direttamente vim /etc/caddy/Caddyfile per modificare il Caddyfile, oppure puoi modificarlo sul tuo computer e caricarlo sul server. Se modifichi il Caddyfile e scopri che non ha effetto, devi eseguire sudo systemctl restart caddy.service per riavviare caddy.

2.4  Formato Caddyfile

Il formato di Caddfile è relativamente semplice Innanzitutto, la prima riga deve contenere l'indirizzo del sito web, ad esempio:

localhost:8080

O

wzfou.com

L'indirizzo può contenere un numero di porta, quindi caddy aprirà solo il servizio http su questa porta, ma non https. Se il numero di porta non è scritto, caddy collegherà le porte 80 e 443 per impostazione predefinita e avvierà i servizi http e https su. lo stesso tempo. L'indirizzo può essere seguito da una serie di istruzioni. Il formato base di un Caddyfile è questo, composto da un indirizzo web e istruzioni.

2.5  direttiva

Lo scopo della direttiva è quello di abilitare determinate funzioni per il sito web. Esistono tre formati di istruzioni Parliamo innanzitutto delle istruzioni più semplici senza parametri, come:

wzfou.com    
gzip

Il gzip nella seconda riga è un'istruzione, che significa attivare la funzione di compressione gzip, in modo che il sito web possa ridurre il traffico durante la trasmissione delle pagine web. Il formato del secondo comando è un comando con parametri semplici:

wzfou.com
gzip
log /var/log/caddy/access.log
tls iwzfou@gmail.com
root /var/www/

Nella terza riga, il comando log abiliterà la funzione di registro per il sito web. I parametri dopo il comando log indicano a caddy dove è archiviato il file di registro. Il comando tls nella quarta riga dice a caddy di abilitare https per il sito web e richiedere automaticamente un certificato. Il seguente parametro email serve a informare la CA dell'indirizzo email del richiedente. (caddy utilizzerà la crittografia per impostazione predefinita per richiedere un certificato e rinnovarlo, il che è molto conveniente)

Inoltre, potrebbe esserci più di un semplice parametro, come la direttiva redir:

wzfou.com
gzip
log /var/log/caddy/access.log
tls /etc/ssl/cert.pem /etc/ssl/key.pem
root /var/www/
redir / https://wzfou.com/archive/{uri} 301

Il comando redir precedente accetta tre parametri, il che significa utilizzare il reindirizzamento 301 per tutte le richieste. Questo comando è molto utile quando si modifica il nome di dominio del sito web. Inoltre, il comando tls è cambiato. Non passa solo il parametro email, ma passa rispettivamente anche il percorso del certificato e della chiave privata. In questo modo caddy non richiederà automaticamente un certificato, ma utilizzerà il certificato fornito dal sentiero.

In questo esempio vengono utilizzati anche segnaposto come {uri}. Un elenco dettagliato può essere trovato qui: https://caddyserver.com/docs/placeholders. L'ultimo tipo di istruzione accetta parametri complessi. Questo tipo di istruzione può contenere molti parametri, quindi deve essere racchiuso tra parentesi graffe, come l'istruzione di intestazione:

wzfou.com
gzip
log /var/log/caddy/access.log
tls iwzfou@gmail.com
root /var/www/
header /api {
    Access-Control-Allow-Origin  *
    Access-Control-Allow-Methods "GET, POST, OPTIONS"
    -Server
}
fastcgi / 127.0.0.1:9000 php {
    index index.php
}
rewrite {
    to {path} {path}/ /index.php?{query}
}

Le direttive di intestazione nelle righe 6-10 rappresentano l'aggiunta di Access-Control-Allow-Origin e Access-Control-Allow-Methods< a tutte le richieste /api/xxx > Queste due intestazioni possono supportare l'accesso tra domini javascript. La riga 9 rappresenta la cancellazione dell'intestazione Server per impedire ad altri di vedere il tipo di server.

Le righe 11-13 utilizzano l'istruzione fastcgi, il che significa che la richiesta viene passata ai programmi back-end come php e ruby ​​tramite fastcgi.

Le righe 14-15 utilizzano il comando rewrite La funzione di questo comando è di reindirizzare internamente al server Dopo il seguente parametro da a , ci sono altri tre parametri simile. try_files per nginx. Di' a caddy di controllare prima se c'è un file corrispondente a {percorso} nella directory root dell'URL /var/www. Se non c'è un file corrispondente a {percorso}, controlla se c'è una directory corrispondente a {percorso} If non ce n'è, inoltralo al file di ingresso index.php. Questa funzionalità è generalmente utilizzata nel framework MVC di PHP.

2.6  Sito web multidominio

Quelli sopra menzionati sono tutti gli URL di un singolo nome di dominio, quindi cosa succede se più nomi di dominio vengono distribuiti sullo stesso server? È molto semplice. Devi solo espanderlo con una parentesi graffa dopo il nome del dominio, come segue:

wzfou.com {
    gzip
    log /var/log/caddy/wzfou_com.log
    tls iwzfou@gmail.com
    root /var/www/
    header /api {
        Access-Control-Allow-Origin  *
        Access-Control-Allow-Methods "GET, POST, OPTIONS"
        -Server
   }
    fastcgi / 127.0.0.1:9000 php {
        index index.php
    }
    rewrite {
        to {path} {path}/ /index.php?{query}
    }
}
wzfou.com{
    tls iwzfou@gmail.com
    log /var/log/caddy/wzfou_com.log
    redir / https://wzfou.com/{uri} 301
}

Questa è la configurazione base del caddy. Per ulteriori informazioni, fare riferimento alla documentazione del sito Web ufficiale: https://caddyserver.com/docs.

3. Script per la creazione di siti Web con un clic di Caddy

Dopo aver esaminato la configurazione di Caddy sopra, alcuni amici potrebbero chiedersi se esiste uno script Caddy per la creazione di siti Web con un clic?

3.1 Installatore Caddy Web Server

  1. Indirizzo del progetto: https://github.com/sayem314/Caddy-Web-Server-Installer

Requisiti di sistema: Ubuntu 14.x, 15.x, 16.x, Debian 7.x , 8.x, 9.x, CentOS 6.8, 7.2. Esegui il seguente comando:

wget https://git.io/vra5C -O - -o /dev/null|bash

Quindi utilizzare il seguente comando per procedere:

caddy start  #开启Caddy Web Server
caddy stop  #停止Caddy Web Server
caddy reload  #重载Caddy Web Server
caddy restart  #重启Caddy Web Server
caddy status  #查看Caddy Web Server状态
caddy install  #安装Caddy Web Server
caddy edit  #编辑配置文件Caddyfile
caddy service  #使Caddy Web Server成为一项服务(upstart/systemd)
caddy update  #升级Caddy Web Server
caddy delete  #卸载Caddy and data
caddy about  #关于Caddy Web Server
caddy version  #检测脚本/Caddy/PHP5-fpm版本信息

Installa il comando del plug-in:

caddy install http.cache,http.filemanager,http.ipfilter,http.ratelimit

Quando installi caddy, ti verrà chiesto di inserire il nome del tuo dominio e l'indirizzo email (emetterà automaticamente ssl per te), quindi utilizzare il comando per avviare caddy!

虚拟主机文件夹:/var/caddywww
配置文件夹:/etc/Caddyfile

Questa è l'interfaccia per una corretta installazione:

È possibile inserire anche online audio, video, ecc.

4. Riepilogo

Usare Caddy come server web richiede solo pochi minuti per l'installazione e l'esecuzione. Naturalmente, Caddy può anche implementare la memorizzazione nella cache, il mirroring, ecc. Anche le regole di configurazione di Caddy sono relativamente semplici. Devi solo dedicare pochi minuti allo studio il sito ufficiale. Il documento può essere copiato da soli.

Caddy emetterà automaticamente un certificato Let's Encrypt gratuito, ma devi prima risolvere il nome di dominio sul server, altrimenti riceverai un errore quando aggiungi un host virtuale. È ancora discutibile se Caddy possa essere utilizzato come ambiente di produzione formale, ma non ci sono problemi nell'usare Caddy come semplice server HTTP.

lascia un commento