The intent is to have two physical servers sharing (via load balancing) a
series of pages, with session variables maintained during a session if one
server dies. So no matter which server responds to a page request,
the users' session variables are not lost if the page source comes from a
different server. So if the user gets a page from Server A, which sets some
session variables; if another page happens to come from Server B, the
session variables are not lost.
I installed the Enterprise Multiserver configuration (2nd choice in the
install dialogs) from the 64-bit install (sorry, the server OS is Server
2008 64 bit, not 32-bit as specified in the original post), using default
choices for all install dialogs, except for the location of the ColdFusion
install (set to E:\ColdFusion9) and the location of the web site pages (in
F:\inetpub\wwwroot ) (IIS is installed also on F:\inetpub). Jrun4 is
installed on E:\Jrun4 folder.
It may also be important to note, in multiserver configuration, only the 'base' cfusion server has the enterprise feature. Any children created with it, will not have it.
But your original post did not seem like you had gotten that far yet.
I'm a bit confused. If you choose the multiserver install, I don't think you get asked where CF gets installed. It gets installed in the JRun subdirectory. I could be wrong, since it's been a while since I've installed CF. It might be useful for you to verify that you don't have multiple copies of CF 9 installed - do you have a "cfusion" directory in \JRun4\servers?
Dave Watts, CTO, Fig Leaf Software
Read this before you post:
Dave Watts wrote:
I'm a bit confused. If you choose the multiserver install, I don't think you get asked where CF gets installed.
You 'can' choose where to install JRun4, IIRC. So, I read the other post as they chose to set the JRun4 folder as E:\ColdFusion9, but that may have been a very poor assumption.
Ah so he did.
Maybe this is a port problem then. And he just needs to add the right port (8300, 8500 I can never keep the two straight) to access the JRun, multi-server administrator...
Responses (thanks for them)
1) when initially browsing to
http://localhost/CFIDE/administrator/entman/index.cfm, I get the CF Admin
login screen, enter password, then the 500 error for Enterprise manager
appears inside the CF Admin frame.
2) (@iIssac) http://localhost:8300/CFIDE/administrator/entman/index.cfm gives
a 404 error. http://localhost:8500/CFIDE/administrator/entman/index.cfm gives
a 'cannot display web page" eror .
3) During the install, I set the JRUN4 folder to be E:\JRun4 . There is no
JRun4 folder in the E:\ColdFusion9 folder.
4) In IIS7.5 screen, there is only the "Default Web Site". Within there, the
CFIDE folder is present (as is CFIDE\administrator\entman , etc)
5) (@Dave Watts) - there is an E:\JRun4\servers\cfusion folder. Does this
indicate multiple CF installs?
I am tempted to completely uninstall CF9 (again, including deleting all CF9
folders), and then
- start with the Enterprise MultiServer install again. (I am assuming that
one does not do the 'base' CF8 install (the 'server configuration' choice on
the Installer Configuration" dialog), then the Enterprise Multi-Server
- run the Web Server Configuration tool against all sites
- install the 9.01 patches
Is this the correct procedure?
Rick, before you reinstall, you can probably correct things. It just seems you've gotten yourself into a bit of a bind. I hope the following can help you recover if you want to, or at least help you (or other readers) understand things better.
To your first point, what happens if you just go to the main page (not the entman subdirectory)? What do you see in the top left of the left navbar? It should say "Server: cfusion" if you are indeed seeing the cfusion instance (where the Enterprise Manager is found). If you see another server name there, you're viewing the CF Admin for THAT instance, not the cfusion one. And if you see no mention of a "Server:" (above the "expand all" phrase), then you are NOT viewing the CFAdmin of a multiserver instance but rather of either an Enterprise Server, or Standard, or Development deployment of CF.
It's easy for that to happen, depending on how you configure the web server (whether manually, or during installation of CF, or using the web server configuration tool). Since you're using no port in your first example, that's using port 80 which is typically responded to by an external web server (like IIS or Apache). Since you say you're using IIS, you can look at properties for the site (whatever is responding to localhost, in your case) to see how its configured to hand CFM files to CF. (Since you're on IIS 7.5, select "handler mappings" in the "content view" while selecting the site, then look for the mapping for path "*.cfm". Double click the mapping to see the value for its "executable". That indicates the directory where CF lives that it's passing requests to.)
As for your second examples, those are using the ports typically associated with the internal web server (as opposed to the external ones like IIS or Apache), which can be enabled optionally either during CF installation or afterward by changing a config file (or automatically for newly created multiserver instances). To be clear, 8300 is the typical port for the built-in web server for the cfusion instance, and 8500 is the typical port for Server/Standard deployments. The actual numbers for any given CF deployment can change, if the port is already in use at installation, or if someone picks a different one when configuring things manually.
To your point 3, I don't think anyone was saying that you had a "JRun4 folder in the E:\ColdFusion9 folder". Rather, the point being made was that there are two primary places where CF is installed, depending on the deployment option chosen. For CF Standard or Enterprise/Developer Server deployments, it's put into the \ColdFusion9 directory (for cf9). For Enterprise/Developer Multiserver deployments, it's put into \JRun4.
The fact that you have both (it seems, from your earlier note) indicates that you have implemented both kinds of deployments (to your point 5, also). That's perfectly acceptable to do. But it can cause the kind of confusion you're seeing. It may be that IIS has been configured to pass requests (for localhost) to the CF Standard/Server deployment, not your Multiserver cfusion instance. Running the web server config tool (from the multiserver deployment) and configuring it to pass the site to that cfusion instance would solve that.
Then again, you may instead want to pass the site to some new instance. You could configure it to do that instead, but then you do need a way to get to that cfusion instance. That is why Isaac suggested that the 8300 port might work. That would be the typical way to access the cfusion instance. You can look at the instance's jrun configuration file (C:\JRun4\servers\cfusion\SERVER-INF\jrun.xml) to see both whether the built-in web server is enabled and what its port is. Look for the entry:
Whatever value that is, try using that. If you change either, you need to restart the instance for them to take effect (and beware that if you make any error, the instance may not start. See the /jrun/logs directory for more information.)
As for your 4th point, it is interesting that you see the entman directory. But I just looked at a CF9 Standard deployment I have, and the directory is indeed there. We might assume it's only put there for Enterprise Multiserver deployments, but maybe not. Someone else can confirm if they see it, too. Anyway, when I try to visit it (with my Standard deployment of CF), I don't get a 500 error, but I do get a blank page. Regardless, perhaps your problem is that your localhost site is configured to pass cfm page requests to something other than a cfusion instance. That would likely be the only one where CF would respond to a request for the Enterprise Manager.
Hope some of that helps. But yes, if you removed everything and started over, I'd expect all would work as well. If you have any reason to keep what seems to be more than one deployment of CF (as some do), then I hope the info above explains both how to do it and how it can get a little crossed up.
Providing CF and CFBuilder troubleshooting services
THanks for the detailed reply....Here's the current status:
1) There were probably a CF Enterprise and CF Multiserver installation. So I
uninstalled all CF stuff.
- note that the Adobe Uninstall instructions are not correct. Using Control
Panel, uninstall process does not remove all CF services, nor the JRun
services, nor the CF / JRun folders. I had to use the uninstall program
located in the uninstall folder of the CF and JRun folders, then manually
delete the CF and JRun folders.
2) I then did a install of the Multiserver version only. At the end, I did
not do the 'config' choice. I then installed the 9.01 patch.
3) When the install and patch were done, I then ran the Web Server
Configuration Tool. I selected Add, then specified the Jrun Server of
'admin", checked the 'configurate web server for ColdFusion 9 applications'
box, (IIS Web site = All) then OK.
4) I repeated step 3 with the 'cfusion' JRun server.
5) The result of #3/#4 is that the Web Server Configuration shows the
localhost:admin and localhost:cfusion IIS server = All.
6) I made suer that IIS was configuration for ColdFusion (using the
instructions in the Adobe "Installing ColdFusion 9", Configurating Web
Servers in Windows, Configuring IIS in Windows (which is steps 3/4/5), then
did the "Verify your IIS Configuration"
- the application mappings (called Handler Mappings in IIS7.5) were OK for
the cfm/cfml/cfc/cfswf/cfr/jsp/jws extensions
- the Default Web Site did not have the JrunScripts virtual directory
specified, so I added that Virtural directory, pointing to
e:\jrun4\lib\wsconfig\1 folder, as per instructions (Jrun is installed in
7) I then went to http://localhost/CFIDE/administrator/index.cfm, and got an
error message "Server Error: Either the Macromedia application server(s) are
unreachable or none of them has a mapping to process this request."
8) I have double-checked that all three CF services, and the two Macromedia
services (plus the IIS Web Service) are running. I used the JRun Launcher to
verify that the 'admin' and 'cfusion' servers are both running. That tells
me that the cfusion server is running on port 8300, so
http://localhost:8300/CFIDE/administrator/index.cfm , which results in a
'web page cannot be found'. The 'cfusion' log says:
12/29 16:37:23 error Requested resource 'File not found:
(File%20not%20found%3a%20%2fCFIDE%2fadministrator%2findex.cfm) not found
....and then I quit for the day.
Hope this information helps....now I can't even get to the CF Administrator
It looks like you have two CF installs. Presumably, only one is running. If you haven't done any actual configuration of CF yet, you could simply uninstall CF and remove both directories manually. To use Enterprise Manager, reinstall CF using the multiserver option.
Dave Watts, CTO, Fig Leaf Software
Read this before you post:
Two installs: that was my assumption also, based on previous replies. So,
as detailed in my last message (about 430pm tody MST), I
uninstalled/deleted, then installed multi-server + 9.01 patch. Did the IIS
configure, but now no access to CF Admin page. (Details are in that last
message from me in this thread).
Had to quit at that point, as snowstorm here was really affecting the
commute home. (Normal 45 minutes, today 110 minutes. Not as bad as back
So, interested in your thoughts based on my previous message.
3) ... I selected Add, then specified the Jrun Server of 'admin", checked the 'configurate web server for ColdFusion 9 applications' box, (IIS Web site = All) then OK.
4) I repeated step 3 with the 'cfusion' JRun server.
You should not have done the 'admin' server. That is NOT a ColdFusion server. That is the JSP - Java Server to administor the JRun server. You can use that if you ever want to run a Java Server Pages (JSP) applicaiton with your JRun. But very few ColdFusion developers do this, and the Admin server can safely be disabled if you don't plan to use it.
You SHOULD have only made a connection to the 'cfusion' server. ALSO only ONE server should ever be connected to any given IIS web site. So your current probelm is you have both the 'admin' and the 'cfusion' server trying to respond to requests and they are stomping all over each other.
IF you ever plan to have other ColdFusion servers and connecting those to specific IIS web sites, you do not want to connect the 'cfusion' server to ALL web sites otherwise you could end up in this place again where you have more then one server trying to respond to a given web site request and tripping each other up. You should just specifiy the 'default' IIS website to connect to the 'cfusion' service if you want it to respond the localhost requests (and any other web requests that IIS can not direct to another web site by IP:Port and|or host header).
That did it (for lurkers, setting up only the 'cfusion' instance in the Web
Server Configuration Tool, only for the 'default web site'. I was then able
to get to the CFAdmin page (where it finished the installation), and the
Enterprise Manager menu choice is right where it should be.
Next step is to set up the clusters for failover/balancing so that sticky
sessions will work.
THanks for your help (and patience).
Just a technical clarification to ilssac's observation about the "Admin" instance.
First, it's great to see that he solved things for you, Rick. Glad to see that all resolved.
But as for that Admin instance, it's not so much that it's there for "if you ever want to run a Java Server Pages (JSP) applicaiton with your JRun." Really, any CF server since CF6 can run JSPs (and servlets).
Instead, the Admin instance is there (for Multiserver deployments) as a vestige from the days before CF 7, when there was no Instance Manager within the cfusion instance. The Admin instance is what supports the JRun Admin console (the first point ilssac was making).
To be clear, we don't NEED to use that JRun Admin console if we're happy with the features of the Instance Manager within the cfusion instance. If you don't need it, then (again, as ilssac says) you can in fact stop it (as a service) so that it doesn't take up any resources (memory, etc.) But that won't stop you being able to run JSPs/servlets. That's all I meant to clarify here. Hope that's helpful.