Apr 5 2013

How To Fix The Adobe ColdFusion 10 Amazon AMI

Posted by Mike Brunt at 4:49 PM CloudComputing | Java-JVM | ColdFusion | JRun-J2EE

There is a glitch in the official ColdFusion Amazon AMI which even though it is an Enterprise version does not support multiple instances.  I am sure Adobe will issue a fix of some kind but until then this is how to work-around to a functioning install.  Firstly a little background to what we think is the core of the issue...

This setting in the neo-metric.xml file for both the "cfusion" instance and the new instance we created had this port variable with the same value "8500".


<var name="cfconnectorport">
      <string>8500</string>
</var>

Here is the workaround in case it helps others

There are two files which need to be edited on each instance, 1 in each instance, we had two, "cfusion" and "testinstance-01"...

C:\ColdFusion10\cfusion\lib\neo-metric.xml
C:\ColdFusion10\testinstance-01\lib\neo-metric.xml

Make sure the ports in each are different, as I mentioned above after the install and after we created that testinstance-01, they were both set to 8500

cfusion
<var name="cfconnectorport">
      <string>8500</string>
</var>

testinstance-01
<var name="cfconnectorport">
      <string>8501</string>
</var>

The next file to edit is

C:\ColdFusion10\cfusion\runtime\conf\server.xml

C:\ColdFusion10\testinstance-01\runtime\conf\server.xml

A word of warning here, these files look very different because of comments in the cfusion copy.

In C:\ColdFusion10\cfusion\runtime\conf\server.xml, we need to uncomment some section...

Uncomment this...

<Connector executor="tomcatThreadPool" maxThreads="50"
               port="8500" protocol="org.apache.coyote.http11.Http11Protocol"
               connectionTimeout="20000" 
               redirectPort="8445" />

and comment this...<!--internal webserver end -->

In C:\ColdFusion10\testinstance-01\runtime\conf\server.xml, which as we say looks different change to port number from 8500 to 8501...

<Connector port="8501" protocol="org.apache.coyote.http11.Http11NioProtocol" connectionTimeout="20000" redirectPort="8443" executor="tomcatThreadPool">
 </Connector>

After making these changes the two instances came up on the internal web server on their respective ports and we added another instance and that was created correctly.  I hope this helps someone.  

I had to disable comments for spam reasons, you can make comments or ask questions - mbrunt AT go2ria DOT NET