You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在Mac OS High Sierra上通过launchd设置Parse Server开机自启

我来一步步教你用launchd和launchctl配置Parse Server及Parse Dashboard的开机自启,毕竟launchd的配置细节确实容易让人懵,尤其是第一次接触的时候。咱们一步步来:

一、先确认关键路径

在开始写配置文件前,先把几个核心路径搞清楚,避免后续踩坑:

  • 你的Parse Server项目根目录:比如/Users/xxx/parse-server(把xxx换成你的Mac用户名)
  • npm的绝对路径:打开终端执行which npm,会输出类似/usr/local/bin/npm或者/Users/xxx/.nvm/versions/node/v16.13.0/bin/npm,记下来
  • Parse Dashboard的启动方式:如果是全局安装的,执行which parse-dashboard拿到路径;如果是本地安装在Parse Server项目里,启动命令就是node node_modules/parse-dashboard/bin/parse-dashboard,对应的node路径也用which node查一下
二、配置Parse Server的launchd plist文件

launchd用plist文件定义服务,咱们在用户目录的LaunchAgents文件夹里创建配置(这个目录的服务是当前用户启动的,比系统级的/Library/LaunchDaemons更适合):

  1. 打开终端,创建并编辑plist文件:
nano ~/Library/LaunchAgents/com.yourname.parse-server.plist

(把yourname换成你的名字或者自定义标识,比如com.pm200107.parse-server,保证唯一就行)

  1. 把下面的内容粘贴进去,记得替换所有带xxx的路径为你自己的实际路径:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <!-- 唯一标识,不能重复 -->
    <key>Label</key>
    <string>com.yourname.parse-server</string>
    <!-- 启动命令,按顺序写参数 -->
    <key>ProgramArguments</key>
    <array>
        <string>/usr/local/bin/npm</string> <!-- 这里替换成你查到的npm绝对路径 -->
        <string>start</string>
        <string>--</string>
        <string>/Users/xxx/parse-server/config/config.json</string> <!-- 你的config.json绝对路径 -->
    </array>
    <!-- Parse Server的项目根目录,npm start需要在这个目录执行 -->
    <key>WorkingDirectory</key>
    <string>/Users/xxx/parse-server</string> <!-- 替换成你的项目根目录 -->
    <!-- 开机时自动加载 -->
    <key>RunAtLoad</key>
    <true/>
    <!-- 如果进程崩溃,自动重启 -->
    <key>KeepAlive</key>
    <true/>
    <!-- 标准输出日志,方便排查问题 -->
    <key>StandardOutPath</key>
    <string>/Users/xxx/Library/Logs/parse-server.out.log</string>
    <!-- 错误日志 -->
    <key>StandardErrorPath</key>
    <string>/Users/xxx/Library/Logs/parse-server.err.log</string>
</dict>
</plist>
  1. 保存退出:按Ctrl+O,回车确认,再按Ctrl+X退出nano。

  2. 给plist文件设置正确的权限(launchd对权限有要求):

chmod 644 ~/Library/LaunchAgents/com.yourname.parse-server.plist
三、配置Parse Dashboard的launchd plist文件

和Parse Server的逻辑几乎一样,咱们再弄Dashboard的配置:

  1. 创建并编辑plist文件:
nano ~/Library/LaunchAgents/com.yourname.parse-dashboard.plist
  1. 粘贴下面的内容,同样替换实际路径:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>com.yourname.parse-dashboard</string>
    <key>ProgramArguments</key>
    <array>
        <!-- 两种情况选一种: -->
        <!-- 情况1:全局安装的Dashboard,用parse-dashboard命令 -->
        <string>/usr/local/bin/parse-dashboard</string>
        <string>--config</string>
        <string>/Users/xxx/parse-dashboard/config.json</string> <!-- 你的Dashboard配置文件路径 -->
        
        <!-- 情况2:本地安装在Parse Server里的,用node启动 -->
        <!-- <string>/usr/local/bin/node</string> -->
        <!-- <string>/Users/xxx/parse-server/node_modules/parse-dashboard/bin/parse-dashboard</string> -->
        <!-- <string>--config</string> -->
        <!-- <string>/Users/xxx/parse-server/dashboard-config.json</string> -->
    </array>
    <!-- Dashboard的工作目录,如果是本地安装就写Parse Server根目录,全局的话可以写你的用户目录 -->
    <key>WorkingDirectory</key>
    <string>/Users/xxx/parse-server</string>
    <key>RunAtLoad</key>
    <true/>
    <key>KeepAlive</key>
    <true/>
    <key>StandardOutPath</key>
    <string>/Users/xxx/Library/Logs/parse-dashboard.out.log</string>
    <key>StandardErrorPath</key>
    <string>/Users/xxx/Library/Logs/parse-dashboard.err.log</string>
</dict>
</plist>
  1. 保存退出后同样设置权限:
chmod 644 ~/Library/LaunchAgents/com.yourname.parse-dashboard.plist
四、加载并启用服务

现在把配置加载到launchd里,设置开机自启:

  1. 加载Parse Server的服务:
launchctl load ~/Library/LaunchAgents/com.yourname.parse-server.plist

如果提示“Service is already loaded”,可以先卸载再加载:launchctl unload ~/Library/LaunchAgents/com.yourname.parse-server.plist

  1. 设置开机自启(High Sierra及以后的系统需要这一步,确保重启后生效):
launchctl enable gui/$(id -u)/com.yourname.parse-server

$(id -u)会自动获取你的用户ID,不用手动输入。

  1. 立即启动Parse Server(不用等重启验证):
launchctl start com.yourname.parse-server
  1. 对Parse Dashboard重复上面3步:
launchctl load ~/Library/LaunchAgents/com.yourname.parse-dashboard.plist
launchctl enable gui/$(id -u)/com.yourname.parse-dashboard
launchctl start com.yourname.parse-dashboard
五、验证和调试

如果遇到启动失败,别慌,按下面的步骤排查:

  • 检查服务是否在运行:执行launchctl list | grep parse,如果能看到你的服务名称,说明已经加载;如果PID列有数字,说明进程在运行
  • 查看日志:用tail -f /Users/xxx/Library/Logs/parse-server.err.log看错误日志,大部分问题都能在这里找到原因(比如路径写错、权限不足)
  • 检查plist语法:执行plutil -lint ~/Library/LaunchAgents/com.yourname.parse-server.plist,如果输出OK说明语法没问题,否则会提示哪里错了
  • 注意环境变量:如果你的npm是用nvm安装的,launchd的环境变量和终端不一样,可能找不到node/npm,这时候直接用node的绝对路径(比如/Users/xxx/.nvm/versions/node/v16.13.0/bin/node)代替npm来启动,比如把Parse Server的ProgramArguments改成:
    <array>
        <string>/Users/xxx/.nvm/versions/node/v16.13.0/bin/node</string>
        <string>/Users/xxx/parse-server/index.js</string>
        <string>--config</string>
        <string>/Users/xxx/parse-server/config/config.json</string>
    </array>
    

内容的提问来源于stack exchange,提问作者pm200107

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 10:39:57