我已经通过 homebrew 安装了 nginx,默认情况下它提供了一个符号链接的 plist,~/Library/LaunchAgents
并launchctl load ~/Library/LaunchAgents/nginx.plist
以我的用户帐户身份启动 nginx。
我希望 nginx 能够监听端口 443 以测试一些 HTTPS 内容。因此这意味着以 root 身份运行 nginx。通过将 plist 文件放在/Library/LaunchAgents
insetad 中,我可以运行sudo launchctl load ...
,然后 nginx 启动,一切运行正常。
但是,在这种情况下,nginx 不会在启动时启动。每次重启后我都必须手动启动 nginx。
是否可以让 launchctl 在启动时以 root 身份启动 nginx?
答案1
代理在登录时加载,守护进程在启动时加载。代理代表登录的用户运行,守护进程代表 root 或 /UserName
键指定的用户/组运行GroupName
。
将您的工作定义移至/Library/LaunchDaemons
,您应该会没事。