Caddy サーバー (または Caddy Web) は、GoLang で書かれたオープンソース Web サーバーであり、HTTP/2 をサポートします。 Caddy の注目すべき機能は、追加の構成を行わずに HTTPS 機能を提供する最初の Web サーバーであることです。
Nginx や Apache などの一般的な Web サーバーと比較して、Caddy の最大の特徴は、Apache または nginx の基本的な Web サーバー モジュールを備えているだけでなく、HTTP/ などの独自の機能も備えていることです。 2、自動 HTTPS、マルチコア、Websocket、マークダウン、IPv6 など。
Caddy は、静的および動的 Web サイトに使用できます。これは、Caddy の簡単な導入と構成を利用するだけではありません。だけでなく、サーバー リソースを最大限に節約し、サードパーティ アプリケーションの開発と管理に重点を置きます。
この記事では、Caddy サーバーのインストールと使用法、その他の Web サイト構築ツールとスクリプト、および以下について説明します。
- 3 つの優れたオンライン ファイル マネージャー (ディレクトリ リスト) の比較 - Directory Lister、h5ai、FileRun
- Smokinging のインストールと構成 - 無料のオープンソース ネットワーク パフォーマンス監視ツールのビジュアルなマスター/スレーブ展開
- OneinStack ワンクリック インストール スクリプト - Let’s Encrypt 証明書を簡単に展開し、HTTPS サイトを構成します
追記: 2018 年 2 月 21 日更新 、無料のネットワーク ディスク プログラムを探している場合は、これを試すこともできます: Pydio を使用して無料のプライベート クラウド ストレージを構築 - マルチターミナルの自動同期により、オンラインでミュージック ビデオを再生できます。
1. キャディの取り付け方法
キャディ公式サイト:
- ウェブサイト:https://caddyserver.com/
- ダウンロード: https://caddyserver.com/download
- Github: https://github.com/mholt/caddy
Caddy をインストールしてデプロイするには 3 つのステップしかありません。 まず、サーバーのオペレーティング システムに応じて Caddy のバージョンを選択し、ダウンロードします (Linux と Windows の両方がサポートされています)。
2. キャディの設定方法
2.1 設定ファイルの作成
まず設定ファイルを作成し、それを /etc/caddy
に置きます。
sudo mkdir /etc/caddy
sudo touch /etc/caddy/Caddyfile
sudo chown -R root:www-data /etc/caddy
構成ファイルに加えて、caddy は SSL 証明書を自動的に生成します。また、SSL 証明書を配置するフォルダーが必要です。
sudo mkdir /etc/ssl/caddy
sudo chown -R www-data:root /etc/ssl/caddy
sudo chmod 0770 /etc/ssl/caddy
秘密キーは ssl フォルダーに配置されるため、アクセス許可は 770 に設定され、他のユーザーがアクセスできないようにします。 最後に、Web サイトのファイルを配置するディレクトリを作成します。既に存在する場合は作成する必要はありません。
sudo mkdir /var/www
sudo chown www-data:www-data /var/www
2.2 スタートアップのセットアップ
これらのファイルとディレクトリを作成した後、起動時に自動的に実行され、管理が容易になるように、キャディをサービスとして構成する必要があります。現在、ほとんどのディストリビューションで systemd が使用されているため、ここでは 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 キャディファイルを編集します。
vim /etc/caddy/Caddyfile
を直接使用して Caddyfile を変更することも、自分のコンピュータで Caddyfile を変更してサーバーにアップロードすることもできます。 Caddyfile を変更しても有効にならない場合は、sudo systemctl restart caddy.service
を実行して caddy を再起動する必要があります。
2.4 キャディファイル形式
Caddfile の形式は比較的単純です。まず、最初の行は Web サイトのアドレスでなければなりません。次に例を示します。
localhost:8080
または
wzfou.com
アドレスにはポート番号を含めることができます。その場合、キャディはこのポートで http サービスのみを開きますが、https では開きません。ポート番号が書き込まれない場合、キャディはデフォルトでポート 80 と 443 をバインドし、http サービスと https サービスを開始します。同じ時間です。アドレスの後には、一連の命令が続く場合があります。 Caddyfile の基本的な形式は次のとおりで、Web サイトのアドレスと説明で構成されます。
2.5 ディレクティブ
ディレクティブの目的は、Web サイトの特定の機能を有効にすることです。命令には 3 つの形式があります。まず、パラメータのない最も単純な命令について説明します。
wzfou.com
gzip
2行目のgzipは、WebサイトがWebページ送信時のトラフィックを軽減するためにgzip圧縮機能をオンにする命令です。 2 番目のコマンドの形式は、単純なパラメータを持つコマンドです。
wzfou.com
gzip
log /var/log/caddy/access.log
tls iwzfou@gmail.com
root /var/www/
3 行目で、log コマンドは Web サイトのログ機能を有効にします。log コマンドの後のパラメータは、ログ ファイルの保存場所を caddy に伝えます。 4 行目の tls コマンドは、Web サイトで https を有効にし、証明書を自動的に申請するように caddy に指示します。次の電子メール パラメーターは、申請者の電子メール アドレスを CA に通知します。 (キャディはデフォルトで let’s encrypt を使用して証明書の申請と更新を行うため、非常に便利です)
さらに、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
上記の redir コマンドは 3 つのパラメータを受け取ります。これは、すべてのリクエストに対して 301 リダイレクトを使用することを意味します。このコマンドは、Web サイトのドメイン名を変更する場合に非常に便利です。さらに、tls コマンドは、電子メール パラメーターを渡すだけでなく、証明書と秘密キーのパスもそれぞれ渡します。このように、caddy は自動的に証明書を申請するのではなく、指定された証明書を使用します。道沿いで。
この例では、{uri}
などのプレースホルダーも使用されています。詳細なリストは、https://caddyserver.com/docs/placeholders にあります。最後のタイプの命令には複雑なパラメータが必要です。このタイプの命令には多くのパラメータが含まれる可能性があるため、ヘッダー命令のように中かっこで囲む必要があります。
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}
}
6 ~ 10 行目のヘッダー ディレクティブは、すべての /api/xxx
リクエストに Access-Control-Allow-Origin
および Access-Control-Allow-Methods< を追加することを表しています。 > これら 2 つのヘッダーは、JavaScript のクロスドメイン アクセスをサポートできます。行 9 は、サーバー タイプが他のユーザーに表示されないようにするためのサーバー ヘッダーの削除を表します。
11 ~ 13 行目では fastcgi 命令を使用しています。これは、リクエストが fastcgi を通じて php や Ruby などのバックエンド プログラムに渡されることを意味します。
行 14 ~ 15 では、rewrite コマンドを使用しています。このコマンドの機能は、 をサーバー に内部的にリダイレクトすることです。この機能には、次のパラメータがさらに 3 つあります。 nginx の try_files
と同様です。キャディに、まず URL ルート ディレクトリ /var/www に {path} に対応するファイルがあるかどうかを確認するように指示します。{path} に対応するファイルがない場合は、次に {path} に対応するディレクトリがあるかどうかを確認します。何もない場合は、index.php エントリ ファイルに転送します。この機能は通常、PHP の MVC フレームワークで使用されます。
2.6 マルチドメイン Web サイト
上記はすべて単一のドメイン名の URL ですが、複数のドメイン名が同じサーバーに展開されている場合はどうなるでしょうか?非常に簡単です。次のように、ドメイン名の後ろに中括弧を付けて展開するだけです。
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
}
これは基本的なキャディ設定です。詳細については、公式 Web サイトのドキュメントを参照してください: https://caddyserver.com/docs。
3. Caddy のワンクリック Web サイト構築スクリプト
上記の Caddy 構成を見て、ワンクリックで Web サイトを構築できる Caddy スクリプトがあるのではないかと疑問に思った友人もいるかもしれません。
3.1 Caddy Web サーバー インストーラー
- プロジェクトアドレス: https://github.com/sayem314/Caddy-Web-Server-Installer
システム要件: Ubuntu 14.x
、15.x
、16.x
、Debian 7.x
、8.x
、9.x
、CentOS 6.8
、7.2
。次のコマンドを実行します。
wget https://git.io/vra5C -O - -o /dev/null|bash
次に、次のコマンドを使用してそれを実行します。
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版本信息
プラグインのインストールコマンド:
caddy install http.cache,http.filemanager,http.ipfilter,http.ratelimit
caddy
をインストールするときは、ドメイン名と電子メール アドレスを入力するように求められます (ssl
が自動的に発行されます)。次に、コマンドを使用して caddy< を起動します。 ept2>!
虚拟主机文件夹:/var/caddywww
配置文件夹:/etc/Caddyfile
これはインストールが成功するためのインターフェイスです。
オーディオ、ビデオなどをオンラインで挿入することもできます。
4. まとめ
Caddy を Web サーバーとして使用するには、インストールと実行にほとんど数分しかかかりません。もちろん、Caddy の設定ルールも比較的簡単で、キャッシュやミラーリングなども実装できます。公式ウェブサイトからドキュメントをコピーできます。
Caddy は無料の Let’s Encrypt 証明書を自動的に発行しますが、最初にドメイン名をサーバーに解決する必要があります。そうしないと、仮想ホストを追加するときにエラーが発生します。 Caddy を正式な運用環境として使用できるかどうかはまだ疑問の余地がありますが、単純な HTTP サーバーとして Caddy を使用するのには問題ありません。