我正在运行最新的Apple OS X 10.10(.1)Yosemite和最新的Adobe Coldfusion 11.一切正常,但服务器在启动时无法自动启动。我可以进入终端并使用:
cd /Applications/ColdFusion11/cfusion/bin
sudo ./coldfusion start
但是默认情况下服务器未启用。如何设置它以便每次计算机启动时都会启动它?
答案 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的接受答案发表评论,但我想添加一些我认为非常有帮助的内容:
root
用户下安装了ColdFusion,因此这是唯一适用于UserName
的帐户我发现这一点的唯一方法是将以下密钥对添加到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 Dev Library Daemons and Services Programming Guide上找到了这些密钥。
希望这有助于bia.migueis!
答案 2 :(得分:-1)
尝试此操作:使用此命令启动ColdFusion 11服务,然后重新启动Mac。
sudo ./coldfusion start