在OS X中自动启动Adobe Coldfusion

时间:2015-01-04 21:34:01

标签: mysql coldfusion adobe osx-yosemite launchd

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

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

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

3 个答案:

答案 0 :(得分:8)

这与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'替换为有效的admin UserName。然后应该将此文件保存到以下目录,我使用文件名'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问题的权限 - 非常感谢各自的作者。

答案 1 :(得分:1)

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

  1. 我在root用户下安装了ColdFusion,因此这是唯一适用于UserName的帐户
  2. 我发现这一点的唯一方法是将以下密钥对添加到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/>
    
  3. 我在Apple Mac Dev Library Daemons and Services Programming Guide上找到了这些密钥。

    希望这有助于bia.migueis

答案 2 :(得分:-1)

尝试此操作:使用此命令启动ColdFusion 11服务,然后重新启动Mac。

sudo ./coldfusion start