在 OS X 中自动启动 Adob​​e Coldfusion

Automatically start Adobe Coldfusion in OS X

我正在运行最新的 Apple OS X 10.10(.1) Yosemite 和最新的 Adob​​e Coldfusion 11。一切正常,但服务器在启动时不会自动启动。我可以进入终端并使用:

cd /Applications/ColdFusion11/cfusion/bin
sudo ./coldfusion start

但是默认情况下服务器未打开。我如何设置它以便它在每次计算机启动时启动?

这与 MySQL 遇到的问题相同。如果你去:

/Library/StartupItems

您会看到 ColdFusion 和 MySQL(如果您安装了它)都创建了启动项 - 但是该功能已被 Apple 弃用(请参阅 Mac Developer Library: Startup Items),因此服务不会根据需要自动启动。首选方法是使用 Launch Daemons。

为此,您必须创建一个 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 Launch Daemon 仅稍作改动以与 CF11 等一起使用。如果您使用更简单的 Launch Daemon,则它不起作用。您还需要 MySQL 问题的权限 - 非常感谢各自的作者。

试试这个:使用此命令启动 ColdFusion 11 服务,然后重新启动您的 Mac。

sudo ./coldfusion start

我还没有权限对 Henry Gibson 的已接受答案发表评论,但我想添加一些我认为非常有用的内容:

  1. 我在 root 用户下安装了 ColdFusion,因此这是唯一适用于 UserName
  2. 的帐户
  3. 我发现的唯一方法是将以下密钥对添加到 plist 文件中:

    <key>StandardOutPath</key>
    <string>/var/log/coldfusion.startup.daemon.log</string>
    <key>StandardErrorPath</key>
    <string>/var/log/coldfusion.startup.daemon.log</string>
    <key>Debug</key>
    <true/>
    

我在 Apple Mac 开发库 Daemons and Services Programming Guide 上找到了这些密钥。

希望这对您有所帮助 bia.migueis