全新安装好的Debian9
安装好 PCRE
//www.greatytc.com/p/14c81fbcb401
在安装
sudo apt-get install libcap2-bin
然后到Caddy 官网下载
选择自己需要的插件
https://caddyserver.com/download
推荐一键 安装脚本
init 脚本命令
service caddy start|stop|restart|reload|status as root
安装完后输入 which caddy,不出意外的话会输出 /usr/local/bin/caddy
至此,安装完毕,但是目前它不会开机自启,只是简单地把二进制文件下载下来,所以下一步要注册服务。
sudo chown root:root /usr/local/bin/caddy
sudo chmod 755 /usr/local/bin/caddy
为caddy二进制文件提供绑定到特权端口(例如80,443)作为非root用户的能力:
sudo setcap 'cap_net_bind_service=+ep' /usr/local/bin/caddy
ssl 存放位置
sudo mkdir /etc/caddy
sudo chown -R root:root /etc/caddy
sudo mkdir /etc/ssl/caddy
sudo chown -R root:www-data /etc/ssl/caddy
sudo chmod 0770 /etc/ssl/caddy
将您的caddy配置文件(“Caddyfile”)放在正确的目录中,并为其提供适当的所有权和权限:
sudo cp /path/to/Caddyfile /etc/caddy/ 这一步 就是吧Caddyfile 文件放到 /etc/caddy里面 可以本地做好 拖动进去
温馨提示Caddyfile 文件:去官网找配置方法
网址:https://caddyserver.com/tutorial/caddyfile
sudo chown root:root /etc/caddy/Caddyfile
sudo chmod 644 /etc/caddy/Caddyfile
创建服务器的主目录并为其提供适当的所有权和权限:
sudo mkdir /var/www
sudo chown www-data:www-data /var/www
sudo chmod 555 /var/www
以上就算完成 Caddy的安装了 是不是很简单 , 后面需要 调整开机启动服务,等等
下面用到的 网址:
https://github.com/mholt/caddy/tree/master/dist/init/linux-systemd systemd 服务文件
caddy.service 文件 存放在 /etc/systemd/system 目录下
/etc/systemd/system/caddy.service 这就是存放位置
https://github.com/mholt/caddy/tree/master/dist/init/linux-sysvinit init.d目录下文件
caddy 脚本文件 存放在 /etc/init.d 目录下
/etc/init.d/caddy 这就是存放位置
一、init方式:
https://github.com/mholt/caddy/tree/master/dist/init/linux-sysvinit
看下图
吧 箭头的 caddy 文件下载 放到 /etc/init.d/ 下
把箭头 caddy.service 文件 下载保存到 /etc/systemd/system
先执行 下面这一步 然后与 Let’s Encrypt 签署协议:
caddy -conf /etc/caddy/Caddyfile
# caddy -conf 你Caddyfile的存放位置
然后 就可以嗨了哈哈哈哈:
Caddy
经常会因为权限不够无法启动 看上图,所以采用 systemctl status caddy.service 查看报错消息
chmod 644 /etc/systemd/system/caddy.service 给caddy.service 设置权限
systemctl enable caddy.service 把 caddy.service 守护进程重新加载
systemctl start caddy.service 启动 服务
systemctl status caddy.service 查看启动状态
Init脚本操作 下面
init脚本通过以下文件支持配置:
* `/etc/default/caddy`(基于Debian的[https://www.debian.org/doc/manuals/debian-reference/ch03.en.html#_the_default_parameter_for_each_init_script](https://www.debian.org/doc/manuals/debian-reference/ch03.en.html#_the_default_parameter_for_each_init_script))
* `/etc/sysconfig/caddy`(基于CentOS的[https://www.centos.org/docs/5/html/5.2/Deployment_Guide/s1-sysconfig-files.html](https://www.centos.org/docs/5/html/5.2/Deployment_Guide/s1-sysconfig-files.html))
可以更改以下变量 就是刚刚Github上面下载的 caddy 文件:
* DAEMON:路径球童二进制文件(默认:`/usr/local/bin/caddy`)
* DAEMONUSER:用户用于运行球童(默认值:`www-data`)
* PIDFILE:路径pidfile进程文件(默认值:`/var/run/$NAME.pid`)
* LOGFILE:路径为球童守护程序(不访问日志)日志文件(默认:`/var/log/$NAME.log`)
* CONFIGFILE:路径球童配置文件(默认:`/etc/caddy/Caddyfile`)
* CADDYPATH:由球童管理SSL证书路径(默认值:`/etc/ssl/caddy`)
* ULIMIT:打开文件限制(默认:`8192`)
添加到 默认级别:
执行
此脚本为shell命令,所以要先有可执行权限
chmod +x /etc/init.d/caddy
update-rc
脚本准备好后,我们把它加到默认运行级别
/usr/sbin/update-rc.d -f caddy defaults
开始,停止,重启
/etc/init.d/caddy start/etc/init.d/caddy stop
/etc/init.d/caddy restart
脚本在系统启动时会自动执行start操作
二、Systemd方式
根据下面的教程 创建一些 文件夹
https://github.com/mholt/caddy/blob/master/dist/init/linux-systemd/README.md
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
Restart=always
[Install]
WantedBy=multi-user.target
执行下面的命令之前 先执行:
caddy -conf /etc/caddy/Caddyfile
# caddy -conf 你Caddyfile的存放位置
下面是 Systemd 的一些命令
服务开机启动相关设置
chmod 644 /etc/systemd/system/caddy.service
systemctl enable caddy.service
systemctl start caddy.service
systemctl status caddy.service
用到的 博客地址:
http://blog.51cto.com/michaelkang/1919971
https://github.com/Unknwon/wuwen.org/issues/11