Exit
  • Global community
    • Language:
      • Deutsch
      • English
      • Español
      • Français
      • Português
  • 日本語コミュニティ
  • 한국 커뮤니티
0

How to set up a clustered environment using IIS 7.5 and CF10 developer edition

Participant ,
May 07, 2014 May 07, 2014

I have followed following steps to create a clustered environment:

  • Created a new instance in CF admin with port no 8500 and the default CF installation runs on 80 port.
  • Created a cluster in CF admin and added two instances there.
  • Run CF code from both the instances by placing in "C:\ColdFusion10\CFusion2\wwwroot" and "C:\ColdFusion10\cfusion\wwwroot" and both are running fine.

I just want to know how I'll set up the cluster in IIS?? If I'll shut down one instance then my application will run from other instance.

Please guide me if I'm making any mistake or any further steps. Thanks in advance.

1.4K
Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines

correct answers 1 Correct answer

Enthusiast , May 07, 2014 May 07, 2014

NOTE : All the Servers(Machines) should be under same Network (same subnet)

Below is the example of two IP Addresses in the same Subnet

10.40.166.xx (say 34)

10.40.166.xx (say 121)

Below are the files (Application.cfc and index.cfm) to test session replication.

Steps to perform:

Enable the J2EE session variables for both the ColdFusion servers under Memory Variables in ColdFusion Administrator

Create a local instance (say test1) and create a remote instance (say test 2) on the remote machine.

Go ahead a

...
Translate
Enthusiast ,
May 07, 2014 May 07, 2014

NOTE : All the Servers(Machines) should be under same Network (same subnet)

Below is the example of two IP Addresses in the same Subnet

10.40.166.xx (say 34)

10.40.166.xx (say 121)

Below are the files (Application.cfc and index.cfm) to test session replication.

Steps to perform:

Enable the J2EE session variables for both the ColdFusion servers under Memory Variables in ColdFusion Administrator

Create a local instance (say test1) and create a remote instance (say test 2) on the remote machine.

Go ahead and Register the remote instance (test2) in the ColdFusion Administrator . Create a cluster and add both the instances (test1 and test2) with Sticky session option checked if you want session replication.

Now add the cluster tag information  in the server.xml (between </host> and </engine>) of the remote instance using the help  document of ColdFusion 10 mentioned below

http://help.adobe.com/en_US/ColdFusion/10.0/Admin/WSc3ff6d0ea77859461172e0811cbf363c31-7ffa.html    

NOTE : Make sure you change the multicast port in the server.xml of the remote instance with the Multicast port number when you create cluster in ColdFusion Admin console.

Open the context.xml of the remote instance (test2) and make sure that the “Manager pathname” is comment out.

Also, make sure that in the context.xml of local machine instance (test1),  “Manager pathname” is comment out.

Stop and Start remote instance first (test2) using command prompt and then stop and start instance (test1) using command prompt.

Place the files in the wwwroot of both the instances (test1 and test2) and in the website root. Create a cluster using the Web Server Configuration tool using the cluster as shown in the screenshot below

Capture.JPG

Access the index.cfm from your webserver (say IIS) like http://localhost:80/index.cfm.

Then note down the session ID and instance name, refresh the page and observe that the Session ID is same for other instance or not. You can stop any one instance and refresh the same page then check the same instance is getting the same session ID or not.

Application.cfc

<cfcomponent>

    <cfset this.name = "SessionApp" />

    <cfset this.sessionmanagement = "true" />

    <cfset this.sessiontimeout = createTimeSpan(0,5,0,0) />

</cfcomponent>

index.cfm

<cfset Session.svar="Adobe">

<cfdump var="#Session#" />

<cfscript>

hostaddress = createObject("java", "java.net.InetAddress").localhost.getHostAddress();

instancename = createobject("component","CFIDE.adminapi.runtime").getinstancename();

</cfscript>

IP Address: <cfdump var="#hostaddress#"><br />

Instane Name : <cfdump var="#instancename#">

HTH

VJ

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Participant ,
May 07, 2014 May 07, 2014

Thanks a lot for the quick & good response. I have a small question:

- As I have said in my question, I have created a second instance in my local machine with port no 8500. So, I can access the application using two URLS:

http://localhost:8500/ClusterTesting/index.cfm and http://localhost/ClusterTesting/index.cfm . When I shut down instance-2(port no - 8500) then http://localhost:8500/ClusterTesting/index.cfm   URL doesn't works but http://localhost/ClusterTesting/index.cfm URL always works whenever any one instance is running.

My question here is why http://localhost:8500/ClusterTesting/index.cfm URL doesn't works when I stopped the instance-2?? Do I have to make any special setting for that?

Once again thanks for the previous answer.

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Enthusiast ,
May 08, 2014 May 08, 2014
LATEST

Is J2EE session enabled?

Is Manager path name comment out in context.xml?

If still session replication not working for you then remove both the instances and create them once again and follow the steps that I have shared with you. You can discard the IIS part from the steps

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Resources