全新安裝好的Debian9
安裝好 PCRE
http://www.itdecent.cn/p/14c81fbcb401
在安裝
sudo apt-get install libcap2-bin
然后到Caddy 官網(wǎng)下載
選擇自己需要的插件
https://caddyserver.com/download
推薦一鍵 安裝腳本

init 腳本命令
service caddy start|stop|restart|reload|status as root
安裝完后輸入 which caddy,不出意外的話會(huì)輸出 /usr/local/bin/caddy
至此,安裝完畢,但是目前它不會(huì)開機(jī)自啟,只是簡(jiǎn)單地把二進(jìn)制文件下載下來(lái),所以下一步要注冊(cè)服務(wù)。
sudo chown root:root /usr/local/bin/caddy
sudo chmod 755 /usr/local/bin/caddy
為caddy二進(jìn)制文件提供綁定到特權(quán)端口(例如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”)放在正確的目錄中,并為其提供適當(dāng)?shù)乃袡?quán)和權(quán)限:
sudo cp /path/to/Caddyfile /etc/caddy/ 這一步 就是吧Caddyfile 文件放到 /etc/caddy里面 可以本地做好 拖動(dòng)進(jìn)去
溫馨提示Caddyfile 文件:去官網(wǎng)找配置方法
網(wǎng)址:https://caddyserver.com/tutorial/caddyfile
sudo chown root:root /etc/caddy/Caddyfile
sudo chmod 644 /etc/caddy/Caddyfile
創(chuàng)建服務(wù)器的主目錄并為其提供適當(dāng)?shù)乃袡?quán)和權(quán)限:
sudo mkdir /var/www
sudo chown www-data:www-data /var/www
sudo chmod 555 /var/www
以上就算完成 Caddy的安裝了 是不是很簡(jiǎn)單 , 后面需要 調(diào)整開機(jī)啟動(dòng)服務(wù),等等
下面用到的 網(wǎng)址:
https://github.com/mholt/caddy/tree/master/dist/init/linux-systemd systemd 服務(wù)文件
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
先執(zhí)行 下面這一步 然后與 Let’s Encrypt 簽署協(xié)議:
caddy -conf /etc/caddy/Caddyfile
# caddy -conf 你Caddyfile的存放位置

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

Caddy
經(jīng)常會(huì)因?yàn)闄?quán)限不夠無(wú)法啟動(dòng) 看上圖,所以采用 systemctl status caddy.service 查看報(bào)錯(cuò)消息
chmod 644 /etc/systemd/system/caddy.service 給caddy.service 設(shè)置權(quán)限
systemctl enable caddy.service 把 caddy.service 守護(hù)進(jìn)程重新加載
systemctl start caddy.service 啟動(dòng) 服務(wù)
systemctl status caddy.service 查看啟動(dòng)狀態(tài)
Init腳本操作 下面
init腳本通過(guò)以下文件支持配置:
* `/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:路徑球童二進(jìn)制文件(默認(rèn):`/usr/local/bin/caddy`)
* DAEMONUSER:用戶用于運(yùn)行球童(默認(rèn)值:`www-data`)
* PIDFILE:路徑pidfile進(jìn)程文件(默認(rèn)值:`/var/run/$NAME.pid`)
* LOGFILE:路徑為球童守護(hù)程序(不訪問(wèn)日志)日志文件(默認(rèn):`/var/log/$NAME.log`)
* CONFIGFILE:路徑球童配置文件(默認(rèn):`/etc/caddy/Caddyfile`)
* CADDYPATH:由球童管理SSL證書路徑(默認(rèn)值:`/etc/ssl/caddy`)
* ULIMIT:打開文件限制(默認(rèn):`8192`)
添加到 默認(rèn)級(jí)別:
執(zhí)行
此腳本為shell命令,所以要先有可執(zhí)行權(quán)限
chmod +x /etc/init.d/caddy
update-rc
腳本準(zhǔn)備好后,我們把它加到默認(rèn)運(yùn)行級(jí)別
/usr/sbin/update-rc.d -f caddy defaults
開始,停止,重啟
/etc/init.d/caddy start/etc/init.d/caddy stop
/etc/init.d/caddy restart
腳本在系統(tǒng)啟動(dòng)時(shí)會(huì)自動(dòng)執(zhí)行start操作
二、Systemd方式
根據(jù)下面的教程 創(chuàng)建一些 文件夾
https://github.com/mholt/caddy/blob/master/dist/init/linux-systemd/README.md
Systemd 配置
精簡(jiǎn)過(guò) 反正能用
[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
執(zhí)行下面的命令之前 先執(zhí)行:
caddy -conf /etc/caddy/Caddyfile
# caddy -conf 你Caddyfile的存放位置
下面是 Systemd 的一些命令
服務(wù)開機(jī)啟動(dòng)相關(guān)設(shè)置
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