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

Setting up CF9 in Distributed Environment

New Here ,
Feb 22, 2011 Feb 22, 2011

I need to install CF9 in a distributed environment, with the CFM pages on Server A, and the CF9 runtime stuff on Server B.

I have searched around all over the place and can't find a good set of instructions for this. In the past (with MX) we have just copied over the wsconfig folder (with the '1' and '2' folders), and set up the wsconfig/wsconfig.properties and wsconfig/jrun_ii6.ini files (on Server A) to point to Server B.

I think that I may need to install JRUN4 on the Server A, and then run the WSCONFIG.EXE (as is done on CF9) to set up the web sites. There are some docs on how to manually configure external web server connectors (KB 18724 and 19575), but those docs are for MX version.

Just need to be pointed to some helpful docs.

Server A and B are both Windows Server 2008 SR2, 64-bit, running on a VM instance, with IIS 7.5 installed.

Thanks...Rick...

2.7K
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
Community Expert ,
Feb 22, 2011 Feb 22, 2011

Well, to be clear, the significance of "distributed mode" deployment for CF is not that "the CFM pages on Server A, and the CF9 runtime stuff on Server B" but more specifically that the web server (IIS, in your case) is on Server A and CF is on Server B. Is that what you mean?

Before I go on, I'll add note that Dave Watts, a highly respected CFer, has argued in another thread here recently against using distributed mode and proposes an alternative that you may want to consider. See his brief discussion at:

http://forums.adobe.com/message/3314201#3314201

Beyond that, I'll note that I just searched the CF docs for any discussion of this, and I find none. That should tell us something. Sure, if you google about coldfusion "distributed mode", you'll find an old CF6-era technote on it, in the context of doing clustering.

But in fact, I have discovered something quite interesting. The CF Installation guide says that "For more information on the Web Server Configuration Tool, including information on multihoming and distributed usage, see the Configuring and Administering ColdFusion guide." Yet, as I said, the Config/Admin guide makes no mention of "distributed" (except in the context of running verity in its own distribute mode).

So in fact, I looked at the two manuals in each release, 9, 8, 7, and 6.1, and in it's the same: the install guide says it's covered in the admin/config guide, but it is not. It's amazing (and of course, sad) that this has never been noticed in all these releases. Then again, few even know these manuals exist, so it's perhaps not as surprising given that running in distributed mode has indeed been something few have done.

So, Rick, I'd ask first if you really maybe meant only "I want the pages on a server separate from CF", or really "I want the web server separate from CF". And if the latter, consider Dave's alternative, especially since it seems clear that "distributed mode" has just not been even documented in now over 10 years.

Hope that's helpful.

/charlie


/Charlie (troubleshooter, carehart. org)
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
New Here ,
Feb 22, 2011 Feb 22, 2011

Thanks for the quick response.

Yes, web server (IIS) on Server A, CF on Server B (with CFM pages on Server A and B)

Distributed mode is the way things were set up before I got here. Open to alternative setups that will help isolate the application servers from the web servers.

...Rick...

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
Community Expert ,
Feb 22, 2011 Feb 22, 2011

So did you explore that alternative, the "reverse proxy on the web tier", that I pointed to as being discussed as an alternative at http://forums.adobe.com/thread/760155?

If you have any questions on that, I'd propose it would be best for you to raise them there, in case Dave or others are subscribed perhaps to that thread. Also, I'm sure others who find that other thread would appreciate more details, if they are needed. I have no experience with the reverse proxy Dave discusses.

And with there being no other documentation on doing distributed mode (that I can find), it just seems worth trying hard to consider other options. (You had asked for "any documentation". I indicated there are none in the current docs, but I assumed you had seen the old page on the topic, in a whitepaper on clustering CF. If not, it's at http://www.adobe.com/support/coldfusion/administration/cfmx_in_distributed_mode/cfmx_in_distributed_mode02.html.)

/charlie


/Charlie (troubleshooter, carehart. org)
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
New Here ,
Feb 24, 2011 Feb 24, 2011

Here's the config we have now:
- server A (Server 2008/32 bit) has htm and CF content. CF content is handled by Server B (Server 2003 with CFMX installed) through setting up the wsconfig folders on Server A with the jrun mappings.  All the content on Server A is 'live'. There are multiple web site (subdomains) defined in Server A IIS, each with their own IP address. Most content is HTM-based, but there are a few sites that have CF content.

We want to move to 3-tier, with Server A (Server 2008/64 bit, IIS7.5, using existing site content of htm/cfm), Server B (Server 2008/64 bit, CF Multiserver with 2 CF instances in one cluster) handling the processing of the CFM content (with the CFM files stored on Server A). Server C will be the data tier used by CF9 on Server B.

The content would preferably stay on Server A, since that is how the existing file deployments work (via Subversion from a development system).

So I think that I need to put ARR/URL Rewrite (version 2) on Server A. Then I need to set up a reverse proxy on Server A with ARR/URL rewrite to point all CFM files to Server B (which has CF9).

But it seems to me that the CFM files need to live on Server B, not Server A , so that Server B can process the CFM content??

Am I getting closer?

Thanks...Rick...

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
New Here ,
Feb 24, 2011 Feb 24, 2011

Here's the config we have now:

- server A (Server 2008/32 bit) has htm and CF content. CF content is

handled by Server B (Server 2003 with CFMX installed) through setting up the

wsconfig folders on Server A with the jrun mappings. All the content on

Server A is 'live'. There are multiple web site (subdomains) defined in

Server A IIS, each with their own IP address. Most content is HTM-based, but

there are a few sites that have CF content.

We want to move to 3-tier, with Server A (Server 2008/64 bit, IIS7.5, using

existing site content of htm/cfm), Server B (Server 2008/64 bit, CF

Multiserver with 2 CF instances in one cluster) handling the processing of

the CFM content (with the CFM files stored on Server A). Server C will be

the data tier used by CF9 on Server B.

The content would preferably stay on Server A, since that is how the

existing file deployments work (via Subversion from a development system).

So I think that I need to put ARR/URL Rewrite (version 2) on Server A. Then

I need to set up a reverse proxy on Server A with ARR/URL rewrite to point

all CFM files to Server B (which has CF9). But it seems to me that the CFM

files need to live on Server B, not Server A , so that Server B can process

the CFM content??

Am I getting closer?

Thanks...Rick...

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
Community Expert ,
Feb 24, 2011 Feb 24, 2011

You may have to hope Dave Watts (who proposed the original idea) or someone with that reverse proxy experience will speak up.

As for your last point, "But it seems to me that the CFM files need to live on Server B, not Server A , so that Server B can process the CFM content??"

Well, if the two are in the same network so that you could point a mapped drive or UNC path from Server B to the files on Server A, it could work. But it can be risky to have CF processing files that are on a networked server (even a NAS or SAN), because it may need to read them very often (depending on such settings as the CF template cache, trusted cache setting, save class files, etc., and the traffic and perhaps even some programming techniques).

For instance, if you don't turn on the trusted cache setting, then CF needs to check the CFML source on EVERY REQUEST, which over a network could become quite troublesome in the right/wrong circumstances.

Also, as for your plan to use 2 instances in a cluster, do you mean a CF cluster? Do you really need that? If not, you may be better off avoiding it. I realize some want to do it for the load balancing, but you can get that other ways. Others do it for session replication, but many find that it's very brittle and can even be difficult to configure correctly to work in the first place. Again, if you don't really need it, do think twice.

(Some who really want to use it move instead to deploying CF as an ear/war file on a separate JEE server or servlet engine, like Tomcat, JBoss, Glassfish, Oracle, WebLogic, to then benefit from the built-in clustering in those servers, which can typically be more advanced or at least more recently updated than the Jrun clustering that underlies CF.)

/charlie


/Charlie (troubleshooter, carehart. org)
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
Community Expert ,
Feb 28, 2011 Feb 28, 2011
LATEST

What exactly are you trying to accomplish?

Your CF files will always need to be on the server actually executing CF. In a distributed mode configuration, they'll also have to be on the web server to avoid 404 errors. In a reverse proxy configuration, they only need to be on the CF server.

Dave Watts, CTO, Fig Leaf Software

http://www.figleaf.com/

http://training.figleaf.com/

Dave Watts, Eidolon LLC
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