Oct 28 2014

ColdFusion 10 and 11 Enterprise Installs Do Not Connect External Web Server.

Posted by Mike Brunt at 10:32 AM Web Servers | CloudComputing | Java-JVM | ColdFusion | JRun-J2EE

Sorry if this sounds mildly dictatorial its is not meant to, however during a ColdFusion 10 or 11 Enterprise Multiple Instance install it is really very important not to connect to the external web server, be it IIS, Apache etc.  If we do then port assignments get messed up and it becomes rather messy as we add instances.  I first found this with the CF10 Amazon AMI but it seems it extends to all Enterprise installs; here is a fix in case you have this issue...

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.