使用 Caddy 快速搭建高效自動的 HTTPS 服務器

使用 Caddy 快速搭建高效自動的 HTTPS 服務器

2016-11-24html

Caddy 是一個用 Golang 寫的高效 Web Server,相比 Nginx,它的配置和使用要簡單不少,而且支持自動化 HTTPS。linux

這裏介紹本站的 Caddy 服務器配置過程。從 Nginx 換到 Caddy 整個過程不到10分鐘,官方甚至有一個28秒的配置視頻git

1. 快速上手

1.1 下載安裝

進入 下載頁面 勾選須要的模塊,選擇平臺進行下載 。(個人是 Ubuntu x64,所以選擇了Linux 64-bit,下載後再上傳到 VPS,由於連接是生成的,沒有固定連接,囧)github

下載後的壓縮文件 caddy_linux_amd64_custom.tar.gz 放到網站根目錄(跟 index.html 同級),進行解壓:服務器

$ tar zxvf caddy_linux_amd64_custom.tar.gz

會獲得 caddy 文件以及 init 文件夾和其餘雜項文件。markdown

1.2 運行

在 caddy 解壓出來的目錄(網站根目錄)執行 ./caddy ,這時訪問 localhost:2015你的網站應該已經愉快地跑起來了。若是你在 vps 上進行的此操做,遠程訪問 http://你的ip:2015 應該也能看到你的站點了。網站

2. 配置 Caddy

如何自定義 Caddy 服務呢?在你的站點目錄裏建立一個名爲 Caddyfile 的文件,文件的第一行寫上監聽地址,如:spa

localhost:8080

從新啓動 Caddy:執行 ./caddy ,你會發現站點已經運行在8080端口了。rest

Caddyfile 能夠在其餘目錄,也能夠命名爲其餘你喜歡的名字。只須要在啓動 Caddy 時告訴它配置文件在哪:code

 

$ caddy -conf="../path/to/Caddyfile"

Caddyfile 語法:查看

3. 實現自動化 HTTPS

Caddy 自動地爲你的站點啓用 HTTPS。注意:須要配置 host 不能爲空,也不能是 localhost 或 ip 地址。

個人靜態博客的配置是:

 

blog.hinpc.com {

root /home/blog.hinpc.com/www #換成你的網站路徑

gzip

log ../access.log

}

執行 ./caddy ,網站已啓動,而且支持 HTTPS 了。它的證書是由 Let’s Encrypt 實現的,而且自動爲你的網站申請和續期。

4. 使用 supservisor 來運行 Caddy

在你的 supervisord.conf 文件中,[supervisord] 區域下配置:

 

minfds=4096

supervisord.conf 中添加:

 

[program:caddy]

directory=/etc/caddy/ ## 換成你的目錄

command=/etc/caddy/caddy -conf="/etc/caddy/Caddyfile" ## 換成你的配置文件

user=www-data

autostart=true

autorestart=true

stdout_logfile=/var/log/supervisor/caddy_stdout.log

stderr_logfile=/var/log/supervisor/caddy_stderr.log

啓用:

 

# supervisorctl reread

# supervisorctl add caddy

# supervisorctl start caddy

參考

https://caddyserver.com/docs/getting-started

http://depado.markdownblog.com/2015-12-07-setting-up-caddy-server-on-debian

相關文章
相關標籤/搜索