要让 cloudflared tunnel info neo-mac 对应的隧道后台稳定运行(替代 LaunchDaemon 自启动,用 PM2 更易管理),我会帮你完成 PM2 配置+后台运行的全流程,新手也能快速上手。
核心前提
-
已安装 Node.js(PM2 依赖 Node.js);
-
手动执行
cloudflared tunnel run neo-mac能正常启动隧道(配置无错误)。
步骤 1:安装 PM2(全局安装)
# 安装 PM2 sudo npm install -g pm2 # 验证安装(输出版本号则成功) pm2 -v
步骤 2:创建 PM2 启动配置文件(关键)
在 /Users/mac/.cloudflared/ 目录下创建 PM2 配置文件,方便管理:
# 进入 cloudflared 配置目录 cd /Users/mac/.cloudflared # 创建 PM2 配置文件(命名为 cloudflared-pm2.config.js) vim cloudflared-pm2.config.js
粘贴以下配置(适配你的 neo-mac 隧道和路径):
module.exports = { apps: [{ name: "cloudflared-neo-mac", // 进程名称,方便识别 script: "/opt/homebrew/bin/cloudflared", // cloudflared 实际路径 args: "tunnel run neo-mac", // 启动参数(和手动命令一致) cwd: "/Users/mac/.cloudflared", // 工作目录(配置文件所在路径) interpreter: "none", // 无需 Node.js 解释器,直接运行二进制文件 autorestart: true, // 进程崩溃自动重启(核心!) restart_delay: 5000, // 崩溃后延迟5秒重启 log_date_format: "YYYY-MM-DD HH:mm:ss", // 日志时间格式 out_file: "/Users/mac/.cloudflared/pm2-out.log", // 标准输出日志 error_file: "/Users/mac/.cloudflared/pm2-err.log", // 错误日志 merge_logs: true, // 合并日志 env: { PATH: "/opt/homebrew/bin:/usr/local/bin:/usr/bin:/bin" // 环境变量,确保路径正确 } }] };
步骤 3:启动+设置 PM2 开机自启动
# 1. 启动 cloudflared 隧道(后台运行) pm2 start /Users/mac/.cloudflared/cloudflared-pm2.config.js # 2. 保存 PM2 进程列表(确保重启后自动恢复) pm2 save # 3. 设置 PM2 开机自启动(生成系统服务) pm2 startup # 执行 pm2 startup 输出的命令(示例,以实际输出为准) # 通常是:sudo env PATH=$PATH:/usr/local/bin pm2 startup darwin -u mac --hp /Users/mac # 4. 验证启动状态(看到 cloudflared-neo-mac 状态为 online 则成功) pm2 status
步骤 4:验证隧道是否后台运行
# 1. 查看 PM2 管理的进程 pm2 list # 2. 检查隧道是否有活跃连接(核心!) cloudflared tunnel info neo-mac # 3. 查看日志(排查问题) pm2 logs cloudflared-neo-mac # 或直接查看日志文件 cat /Users/mac/.cloudflared/pm2-err.log
常用 PM2 管理命令(后续维护)
# 重启隧道 pm2 restart cloudflared-neo-mac # 停止隧道 pm2 stop cloudflared-neo-mac # 彻底删除 PM2 中的进程 pm2 delete cloudflared-neo-mac # 查看详细日志 pm2 logs cloudflared-neo-mac --lines 100 # 重新加载配置(修改 config.js 后) pm2 reload cloudflared-neo-mac
总结
-
核心方案:用 PM2 替代 LaunchDaemon 管理 cloudflared,优势是更易操作、日志更清晰、崩溃自动重启;
-
关键步骤:创建 PM2 配置文件 → 启动进程 →
pm2 save+pm2 startup实现开机自启; -
验证要点:
pm2 status显示 online +cloudflared tunnel info neo-mac有活跃连接,即配置成功。
PM2 是 Node.js 生态的进程管理工具,比系统级 LaunchDaemon 更适合普通用户管理单个进程,后续有任何日志报错或启动问题,都可以通过 pm2 logs 快速定位。