CentOS7 / LINUX 下将caddy web服务器设置成开机自动启动的方法

以下操作caddy版本为 v2.6.1

推荐第二种方法,这样当caddy非正常退出后,系统会重新启动caddy

方法一:

vi /etc/rc.local

在exit 0前添加如下代码

cd /root/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 run --config /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  或者  service caddy start
重新启动:systemctl restart caddy 或者 service caddy restart
停止运行:systemctl stop caddy  或者 service caddy stop
查看运行状态: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 指定我们要包含此服务的目标。



发表评论

您的电子邮箱地址不会被公开。

21 + = 29