Caddy Server 笔记
Caddy Web服务器,用 GO 语言写的单文件网页服务器,原生支持 HTTP/2,自动创建 Let’s Encrypt 证书。等等功能。
好久没写过东西,实在是不知道怎么说了,反正是一个有意思的Web服务器,类似于Nginx、Apache之类,但看起来更为简便轻量。
Caddy安装和使用
1、GitHub找到Caddy的发行版本下载,解压并移动到PATH
目录,例如:
mv caddy_linux_amd64 /usr/bin/caddy
2、cd
进入到网站文件所在目录(当然这时候得先弄个静态的文件用于测试),命令caddy
运行;
3、浏览器中打开 http://localhost:2015/ 看看是否成功运行。
Note: 如果提示类似 "404 Not Found",目录下应该没有索引文件,例如
"index.html",当然这个在第2步的时候可以随便写一个。
( ̄▽ ̄)" 没错,就是这么简单!
Caddy 配置文件的使用
用到配置文件的话也简单,随便找个目录写一个Caddyfile
,例如第一行监听个地址:
www.abc.com:80
然后进入网站文件目录,命令caddy
就哦了!
配置文件的名称可以是任意的,如果Caddy找不到,可以用下面命令指定一下:
caddy -conf="../path/to/Caddyfile"
( ̄▽ ̄)" 没错,就是这么简单!然后更多的配置文件文档说明去官方。
Systemd
先来个最简单的:
#!/bin/sh
exec /usr/local/bin/caddy -conf=/etc/Caddyfile
然后:
#!/bin/sh
exec chpst -b my-web-server -u www-data -L /var/run/caddy.lock \
/usr/local/bin/caddy -conf=/etc/Caddyfile
进程守护(网上找的一个 Systemd 配置文件):
[Unit]
Description=Caddy Server
After=syslog.target
After=network.target
[Service]
User=root
Group=root
LimitNOFILE=64000
ExecStart=/usr/local/bin/caddy --conf=/path/to/Caddyfile -ca=https://acme-v01.api.letsencrypt.org
Restart=always
[Install]
WantedBy=multi-user.target
Supervisor(/etc/supervisord/conf.d/caddy.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
Caddy Server 一键安装脚本
项目地址:https://github.com/sayem314/Caddy-Web-Server-Installer
使用命令:
wget https://git.io/vra5C -O - -o /dev/null|bash
然后caddy install
,绑定域名,输入邮箱(用于自动获取SSL);caddy start
启动就可以了。
(但是我启动失败哈,哈哈。。line 69: sudo: command not found
)~
额,刚测试了下这个脚本,貌似问题不少,先放着了,回头再折腾。
本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。