web-server

使用 caddy 部署网站

caddy 支持自动的 SSL 证书获取,这个非常方便,个人站的话,没必要用 nginx 了。Caddy 2 是最新的版本,并且和 1 不太兼容,本文讨论的是 Caddy 2.

caddy 的配置可以用的自己的语法:Caddyfile(注意必须大写), 不过新版本都支持用 json 了。相比于 nginx 的功能丰富但是又显得有点复杂的配置文件来说,caddy 的配置比较少,也就比较简单。

使用 Caddy 来部署一个 PHP 应用

Caddyfile 是分区的,每个地址对应一个区,可以用大括号包围起来,还有一个全局的配置区。

# 全局配置
{
  email xxx@xxx.com
}

yifei.me {
  encode gzip
  root * /var/www/html
  php_fastcgi unix//run/php/php-fpm.sock
  file_server
}

www.yifei.me {
  redir https://yifei.me{uri}
}

安装 PHP

sudo apt -y install php-fpm php-mysql php-xml

增加一个反向代理的 Python/Node/Java 应用

假设我们现在在端口 5002 部署了一个另外一个应用,然后想通过 super-cool.yifei.me 来访问,这时候只需要在 Caddyfile 中增加如下配置就可以了。

super-cool.yifei.me {
  reverse_proxy localhost:5002
}

参考

  1. Caddy Official Docs