caddyserver在linux系统下的开机启动设置方法
方法一:
vi /etc/rc.local
在exit 0前添加如下代码cd /root/caddy
./caddy &
保存后重启系统就可以自动运行caddy了
方法二:
systemd方法
首先在下面路径建立一个caddy.service文件,以centos7为例#编写caddy.service文件
vi /etc/systemd/system/caddy.service
#将下面的代码复制进去
[Unit]
Description=Caddy webserver
Documentation=https://caddyserver.com/
After=network.target
[Service]
User=root
#Group=some_group
WorkingDirectory=/root/caddy
LimitNOFILE=4096
ExecStart=/root/caddy/caddy -conf /root/caddy/Caddyfile
ExecStop=/bin/kill $MAINPID
Restart=on-failure
StartLimitInterval=600
[Install]
WantedBy=multi-user.target
如果你的运行命令和上面的不同,需要对service文件进行修改,将文件的 ExecStart 改为你的运行命令,更改完成后需要输入
systemctl daemon-reload
管理命令开机启动:systemctl enable caddy
取消开机启动:systemctl disable caddy
启动:systemctl start caddy
重新启动:systemctl restart caddy
停止运行:systemctl stop caddy
查看运行状态:systemctl status caddy
配置文件的简要说明(机器翻译的,有些不通顺):
After=network.target 在启动时加载所有网络内容后,它将自动启动Caddy。
User,Group并WorkingDirectory为自己说话...确保您的Caddyfile位于工作目录中。您始终可以手动指定Caddyfile的位置: $ caddy -conf="/path/to/Caddyfile"。
LimitNOFILE=4096设置最大文件描述符(具有良好的生产价值),就像 ulimit -n 4096在终端中那样。
ExecStart是将要执行的实际脚本。
Restart=on-failure 如果Caddy崩溃(即以非零退出代码停止),它将自动重新生成Caddy进程。
StartLimitInterval=600 确保如果Caddy崩溃过多(通过systemd的默认值设为5),它将等待10分钟,然后重试。
WantedBy 指定我们要包含此服务的目标。