之前说过,使用 Cloudflared 可以实现无公网 IP 地址建站。Cloudflared 可以在 Alpine Linux 上正常运行,但是使用官方的安装命令 cloudflared service install {token} 无法正确在 AlpineLinux 正确安装1。本文将介绍如果在 Alpine Linux 上配置 Cloudflared 服务。

Alpine Linux 使用 OpenRC 初始化系统,服务放置在 /etc/init.d 目录下2。如果不熟悉 OpenRC,建议检索关键字「systemd openrc sysv」。使用 rc-service -l 命令查看所有到的服务就来源于这个目录。

运行官方的服务安装命令 cloudflared service install 会在 /etc/init.d 目录生成 sysV 配置文件,一说 OpenRC 兼容 sysV,但是实际体验下来,配置文件并没有如期运行:无法关闭服务,开机无法自启动服务。

cloudflared service install {token} 的核心就是配置下面这行代码:

cloudflared --pidfile /var/run/$name.pid  --autoupdate-freq 24h0m0s tunnel run --{token}

所以,我们可以在 /etc/init.d 目录手动新建名为 cloudflared 的配置文件,输入以下内容以配置 cloudflared 服务。

#!/sbin/openrc-run

name="$RC_SVCNAME"
command="{cloudflared 可执行文件位置}"
pidfile="/run/$RC_SVCNAME.pid"
command_args="--pidfile /run/$RC_SVCNAME.pid --autoupdate-freq 24h0m0s tunnel run --token {tunnel 密钥}
command_background=true

如果想了解更多 OpenRC 配置相关的内容,可以访问官方指南 20231229
如果想了解无公网 IP 如何建站,可以尝试阅读下文。

最后修改:2024 年 03 月 02 日
如果觉得我的文章对你有用,请随意赞赏