这与 MySQL 遇到的问题相同。如果你去:
/Library/StartupItems
您将看到 ColdFusion 和 MySQL(如果您已安装)都创建了启动项 - 但是 Apple 已弃用该功能(请参阅 Mac Developer Library: Startup Items),因此服务不会按需要自动启动。首选方法是使用启动守护程序。
为此,您必须按如下方式创建 XML / 文本文件:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.coldfusion.startup</string>
<key>Disabled</key>
<false/>
<key>OnDemand</key>
<true/>
<key>RunAtLoad</key>
<true/>
<key>UserName</key>
<string>root</string>
<key>AbandonProcessGroup</key>
<true/>
<key>ProgramArguments</key>
<array>
<string>/Applications/ColdFusion11/cfusion/bin/coldfusion</string>
<string>start</string>
</array>
<key>ProcessType</key>
<string>Background</string>
</dict>
</plist>
将“root”替换为有效的管理员用户名。然后应该将该文件保存到以下目录,我使用文件名'com.coldfusion.startup.plist':
/Library/LaunchDaemons
如果您使用 Finder 来保存文件,系统可能会要求您输入密码。
现在使用终端,您必须为您创建的新文件设置适当的访问权限,以便它在启动时正常运行。使用以下 3 个命令:
sudo chown root /Library/LaunchDaemons/com.coldfusion.startup.plist
sudo chgrp wheel /Library/LaunchDaemons/com.coldfusion.startup.plist
sudo chmod 644 /Library/LaunchDaemons/com.coldfusion.startup.plist
最后你应该运行一次新的 LaunchDaemon 来注册它并确保它随后在启动时运行:
sudo launchctl load /Library/LaunchDaemons/com.coldfusion.startup.plist
现在,如果您重新启动系统,ColdFusion 应该会自动运行。优秀。我从下面列出的几篇文章中拼凑出来:
Autostart MySQL Server on Mac OS X Yosemite
Autostart ColdFusion in OS X Yosemite
CF 启动守护程序只是稍作改动以与 CF11 等一起使用。如果您使用更简单的启动守护程序,它就不起作用。您还需要 MySQL 问题的权限 - 非常感谢各自的作者。