Caddy Debian 9 安装启动

全新安装好的Debian9

安装好 PCRE
https://www.jianshu.com/p/14c81fbcb401

在安装
sudo apt-get install libcap2-bin

然后到Caddy 官网下载
选择自己需要的插件
https://caddyserver.com/download

推荐一键 安装脚本


image.png

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
看下图  

u

吧 箭头的 caddy 文件下载 放到 /etc/init.d/ 下

image.png
把箭头 caddy.service 文件 下载保存到     /etc/systemd/system

先执行 下面这一步 然后与 Let’s Encrypt 签署协议:

caddy -conf   /etc/caddy/Caddyfile

# caddy -conf  你Caddyfile的存放位置
image.png

然后 就可以嗨了哈哈哈哈:

image.png

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

推荐阅读更多精彩内容