一个极简的HTTP Server: Caddy一键安装脚本,带网站配置教程
一个极简的HTTP Server: Caddy一键安装脚本,带网站配置教程
说明:这几天一直在看逗比根据地,发现Caddy
很是强大,是一个极简的HTTP
服务器,支持HTTP/2
静态网页服务器,安装也很快,在很多方面都可以不用安装时间很长的lnmp
,lamp
环境了,配置文件也很简单,同时还有一些有趣的扩展,可以非常方便的搭建一个HTTP
服务器。
安装
系统要求:CentOS 6+
/Debian 6+
/Ubuntu 14.04 +
。推荐Debian 7 x64
。
本脚本只是一个一键安装+运行控制的脚本,没有其他管理虚拟主机等功能。
执行下面的代码安装Caddy
,如果想要安装其他扩展可以把名字加到命令后面(bash caddy_install.sh install xxx,xxx,xxx,
扩展列表点击查看)。
1 | wget -N --no-check-certificate https://raw.githubusercontent.com/ToyoDAdoubiBackup/doubi/master/caddy_install.sh && chmod +x caddy_install.sh && bash caddy_install.sh |
使用说明
1 | 启动:/etc/init.d/caddy start |
升级Caddy或者更新扩展
只需要重新执行你当初安装时候用的命令即可,会覆盖安装最新的Caddy+
扩展。
卸载Caddy
卸载不会删除虚拟主机的内容,只会删除Caddy
自身和配置文件。
1 | wget -N --no-check-certificate https://raw.githubusercontent.com/ToyoDAdoubiBackup/doubi/master/caddy_install.sh && bash caddy_install.sh uninstall |
网站配置文件
配置文件为Caddyfile
,列举几种caddy
的conf
的写法
1、本地访问80
1 | :80 |
2、单网站访问
1 | example.com |
2、多网站
1 | example.com { |
常用基本组成模块,均写入到conf
站点配置中。
1 | #log日志 |
例如,通过IP
即80
端口访问目录:
1 | :80 { |
也可以直接执行命令写入,以下是一个命令,直接复制粘贴即可。
1 | echo ":80 { |
更多配置参考:https://caddyserver.com/tutorial/caddyfile
设置文档参考:https://caddyserver.com/docs
常见问题
1、Caddy启动失败,打开ip访问地址显示的是 It works !
一些系统会自带apache2
,而apache2
会占用80
端口,导致Caddy
无法绑定端口,所以只要关掉就好了。
1 | netstat -lntp |
不过apache2
会默认开机自启动,如果不需要可以关闭自启动或者卸载apache2
。
停止Apache2
1 | # CentOS系统 |
取消开机自启动
1 | # CentOS 系统 |
卸载Apache2
1 | # CentOS 系统 |
关闭Apache2
后,就可以尝试启动Caddy
,并试试能不能打开网页。
1 | /etc/init.d/caddy start |
2、启动Caddy后,无法访问
这个可能是防火墙的问题,开放防火墙端口即可。
1 | iptables -I INPUT -m state --state NEW -m tcp -p tcp --dport 端口 -j ACCEPT |
3、SSL证书签发失败
比如报错acme: error: 400 :: urn:ietf:params:acme:error:connection :: Error getting validation data, url:
,检查下防火墙端口,需要开启80
和443
端口,然后重启即可。
转载声明
一个极简的HTTP Server: Caddy一键安装脚本,带网站配置教程